pl_OpenGL, OpenGLpanel... и.т.д

Модератор: Модераторы

TehnikHarlan
новенький
Сообщения: 24
Зарегистрирован: 26.11.2018 15:01:35

pl_OpenGL, OpenGLpanel... и.т.д

Сообщение TehnikHarlan »

Доброго времени суток. Установил из Сетевого диспетчер пакетов "pl_OpenGL".

Пошлите меня куда то где можна почитать про работу с компонентами OpenGLPanel, OpenGLCanvas, OpenGL2DCanvas.
Раньше я работал с компонентом OpenGLControl что аналогичный OpenGLPanel, но есть маленькие нюансы.
Кроме того появились компоненты OpenGLCanvas, OpenGL2DCanvas. Наверно полезные и стоило бы про них узнать.
В examples котторые в папке с установленим Лазарусом примеры только о том же OpenGLControl.
На домашней странице https://bitbucket.org/saschawillems/dgl ... rc/master/ нету никакой информации или я ее не вижу.
Гугление ничего абсолютно не дает.
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Без паники! Все есть !
[путь куда скачен пакет]\ct4laz\pl_examples
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

pl это пилот логик?
Советую поискать оригинальный компонент с которого эти "красавчики" перебили шильдики на pl_ и использовать его
TehnikHarlan
новенький
Сообщения: 24
Зарегистрирован: 26.11.2018 15:01:35

Сообщение TehnikHarlan »

Спасибо большое) Уже не пропаду)
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

zub писал(а):Советую поискать оригинальный компонент с которого эти "красавчики" перебили шильдики на pl_ и использовать его

Вам надо - вы и ищите. А у нас уже есть! :D
TehnikHarlan
новенький
Сообщения: 24
Зарегистрирован: 26.11.2018 15:01:35

Сообщение TehnikHarlan »

Снег Север писал(а):
zub писал(а):Советую поискать оригинальный компонент с которого эти "красавчики" перебили шильдики на pl_ и использовать его

Вам надо - вы и ищите. А у нас уже есть! :D


Ну почему же, если есть чтото лучше почему бы и не пользоваться этим.
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

TehnikHarlan
Тебе пудрят голову и впаривают суррогат. забей на pl
>>Ну почему же, если есть чтото лучше почему бы и не пользоваться этим.
надо пользоваться оригиналом. pl_OpenGL - это лазаревский OpenGL с перебитым копирайтом, рефакторингом и какимито рюшками, как впрочем большинство (всё?) от пилотлоджик
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

TehnikHarlan писал(а):Ну почему же, если есть чтото лучше почему бы и не пользоваться этим.

Оно не лучше, оно требует обработки напильником или вообще "ломом и какой-то матерью". А pl_компоненты работают немедленно. В Тифоне, разумеется.
TehnikHarlan
новенький
Сообщения: 24
Зарегистрирован: 26.11.2018 15:01:35

Сообщение TehnikHarlan »

Извините, я собственно електронщик и пользуюсь в основном Лазарусом для визуализации показаний датчиков, комуникации по Ethernrt, USB, Com Port. Я не професионал в деле програмирования) Стараюсь упрощать себе работу с используя компонетти чтоб сильно не углублятся , посколько боюсь не осилю. Но есть ситуации когда надо понимать детально что как происходит. О pl и их работе я ниче не вкурсе. Когда вы говорите о оригинале, что вы собственно имеете ввиду?
Seenkao
энтузиаст
Сообщения: 567
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

TehnikHarlan, вам нужно определиться, что вы хотите от OpenGL. Если вы для общего пользования и/или для обучения. То большинство компонентов вам не нужно. Используйте напрямую lazOpenGLContext. И не заморачивайтесь дополнительными компонентами. Изучите OpenGL после этого уже смотрите, нужно вам что-то из компонентов или нет.

Есть много "готовых" библиотек и компонентов, которые не обязуют знать сам OpenGL и позволяют работать с 2D/3D графикой, не вдаваясь в OpenGL, но заставляя изучать именно эти библиотеки.
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

TehnikHarlan, если вам надо сделать визуализацию, то под лазарь есть порт знаменитой графической библиотеки GlScene -
http://glscene.sourceforge.net/wikka/
Идет кучей примеров на все случаи жизни. У вас там есть viewport - собственно показ изображения и компонент сцена, к которому вы цепляете всё, что хотите показать. Дополнительно - источник освещения сцены и камера, которая смотрит на сцену. Всё это нужно, в основном, если показывать трёхмерную картинку. Если только двумерную, то можно и попроще - например graphics32 -
https://github.com/graphics32/graphics32
TehnikHarlan
новенький
Сообщения: 24
Зарегистрирован: 26.11.2018 15:01:35

Сообщение TehnikHarlan »

Огромное спасибо за ответы и советы!
Первый же ответ от Alex2013 мне сразу решил вопрос. Но если уж тут зашла такая дискуссия, то моя задача такая:
Получить от КМОП видеосенсора информацию о изображении в виде двухмерного масива байт, который несет данные о состояние субпикселей. Из этих субпикселей которые построены по схеме Байера собрать нормальное изображение и вывести на монитор. Видеосенсор может выдавать больше сотни кадров в секунду. Я же ограничен и могу выводить 50 кадров/с при разрешении 640х480, и 20 кадров/с при разрешении 1200х960. Это естественно зависит еще от процесора и видеокарти. Кроме того есть ограничение по каналу передачи но в него я еще не уперся.
Изображение
Вывожу изображение на OpenGLControl вот так:

Код: Выделить всё

            for j:= 0 to 959 do
             begin
              for i:= 0 to 1279 do
                begin
                 glColor3f((BYTE_FRAME[j-1,i-1])/255,
                           (BYTE_FRAME[j-1,i-1])/255,
                           (BYTE_FRAME[j-1,i-1])/255);
                 glVertex2f(-1+i/640,+1-j/480);
                end;
             end;
FormCam.OpenGLBox.SwapBuffers;

Если есть способ выводить изображение быстрее, и достичь частоты кадров приятной глазу на большых разрешениях можете подсказать какие библиотеки, компоненты использовать. Может стоить использовать другие среди, язики програмирования. Возможно заметный эффект даст использование видеокарт Quadro?
Вложения
Screenshot_5.jpg
Seenkao
энтузиаст
Сообщения: 567
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

Данный способ вывода особенно медленный.
В данном случае проще перевести изображение в массив и массивом скинуть. А я так понимаю, что массив уже готов?

Если массив выложен чисто из кодов цвета, то надо задать ещё массив координат.

Рост "Суперкнига" стр. 567.

Есть вариант выкладывать как текстуру, но для этого надо перевести массив в текстуру. Думаю в данном варианте будет сложнее для понимания.

А тот код который вы привели, можно ускорить, развернув циклы. Хотя бы внутренние. Кода будет больше, но и работать на порядок быстрее будет.
TehnikHarlan
новенький
Сообщения: 24
Зарегистрирован: 26.11.2018 15:01:35

Сообщение TehnikHarlan »

Seenkao писал(а):Данный способ вывода особенно медленный.
В данном случае проще перевести изображение в массив и массивом скинуть. А я так понимаю, что массив уже готов?

Если массив выложен чисто из кодов цвета, то надо задать ещё массив координат.

Рост "Суперкнига" стр. 567.

Есть вариант выкладывать как текстуру, но для этого надо перевести массив в текстуру. Думаю в данном варианте будет сложнее для понимания.

А тот код который вы привели, можно ускорить, развернув циклы. Хотя бы внутренние. Кода будет больше, но и работать на порядок быстрее будет.

Спасибо, попробую!
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Посмотри мой долгоиграющий проект "Цифровая оптика" (Одна из главных целей сделать софт для " народного ХолЛинза" )
http://www.freepascal.ru/forum/viewtopi ... =9&t=25002
Если заинтересует, можно будет объединить услиля .


+ Еще собираюсь сделать свой "ВиАр-Экран" а там как-раз нужно видео-поток на текстуру пускать ... Честно говоря пока что не очень себе представляю сам механизм повторной перезагрузки текстуры.
Ответить