pl_OpenGL, OpenGLpanel... и.т.д

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

pl_OpenGL, OpenGLpanel... и.т.д

Сообщение TehnikHarlan » 16.02.2021 01:04:54

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

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

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение Alex2013 » 16.02.2021 02:14:57

Без паники! Все есть !
[путь куда скачен пакет]\ct4laz\pl_examples
Alex2013
долгожитель
 
Сообщения: 2923
Зарегистрирован: 03.04.2013 11:59:44

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение zub » 16.02.2021 08:39:40

pl это пилот логик?
Советую поискать оригинальный компонент с которого эти "красавчики" перебили шильдики на pl_ и использовать его
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение TehnikHarlan » 16.02.2021 09:15:22

Спасибо большое) Уже не пропаду)
TehnikHarlan
новенький
 
Сообщения: 24
Зарегистрирован: 26.11.2018 16:01:35

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение Снег Север » 16.02.2021 09:32:33

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

Вам надо - вы и ищите. А у нас уже есть! :D
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2993
Зарегистрирован: 27.11.2007 16:14:47

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение TehnikHarlan » 16.02.2021 11:46:33

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

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


Ну почему же, если есть чтото лучше почему бы и не пользоваться этим.
TehnikHarlan
новенький
 
Сообщения: 24
Зарегистрирован: 26.11.2018 16:01:35

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение zub » 16.02.2021 12:32:59

TehnikHarlan
Тебе пудрят голову и впаривают суррогат. забей на pl
>>Ну почему же, если есть чтото лучше почему бы и не пользоваться этим.
надо пользоваться оригиналом. pl_OpenGL - это лазаревский OpenGL с перебитым копирайтом, рефакторингом и какимито рюшками, как впрочем большинство (всё?) от пилотлоджик
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение Снег Север » 16.02.2021 15:04:08

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

Оно не лучше, оно требует обработки напильником или вообще "ломом и какой-то матерью". А pl_компоненты работают немедленно. В Тифоне, разумеется.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2993
Зарегистрирован: 27.11.2007 16:14:47

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение TehnikHarlan » 16.02.2021 15:07:24

Извините, я собственно електронщик и пользуюсь в основном Лазарусом для визуализации показаний датчиков, комуникации по Ethernrt, USB, Com Port. Я не професионал в деле програмирования) Стараюсь упрощать себе работу с используя компонетти чтоб сильно не углублятся , посколько боюсь не осилю. Но есть ситуации когда надо понимать детально что как происходит. О pl и их работе я ниче не вкурсе. Когда вы говорите о оригинале, что вы собственно имеете ввиду?
TehnikHarlan
новенький
 
Сообщения: 24
Зарегистрирован: 26.11.2018 16:01:35

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение Seenkao » 16.02.2021 16:03:35

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

Есть много "готовых" библиотек и компонентов, которые не обязуют знать сам OpenGL и позволяют работать с 2D/3D графикой, не вдаваясь в OpenGL, но заставляя изучать именно эти библиотеки.
Seenkao
энтузиаст
 
Сообщения: 502
Зарегистрирован: 01.04.2020 03:37:12

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение Снег Север » 16.02.2021 16:34:06

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

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение TehnikHarlan » 16.02.2021 17:44:09

Огромное спасибо за ответы и советы!
Первый же ответ от 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
TehnikHarlan
новенький
 
Сообщения: 24
Зарегистрирован: 26.11.2018 16:01:35

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение Seenkao » 16.02.2021 19:01:11

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

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

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

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

А тот код который вы привели, можно ускорить, развернув циклы. Хотя бы внутренние. Кода будет больше, но и работать на порядок быстрее будет.
Seenkao
энтузиаст
 
Сообщения: 502
Зарегистрирован: 01.04.2020 03:37:12

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение TehnikHarlan » 16.02.2021 22:55:08

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

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

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

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

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

Спасибо, попробую!
TehnikHarlan
новенький
 
Сообщения: 24
Зарегистрирован: 26.11.2018 16:01:35

Re: pl_OpenGL, OpenGLpanel... и.т.д

Сообщение Alex2013 » 17.02.2021 02:56:58

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


+ Еще собираюсь сделать свой "ВиАр-Экран" а там как-раз нужно видео-поток на текстуру пускать ... Честно говоря пока что не очень себе представляю сам механизм повторной перезагрузки текстуры.
Alex2013
долгожитель
 
Сообщения: 2923
Зарегистрирован: 03.04.2013 11:59:44

След.

Вернуться в Компоненты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru