pl_OpenGL, OpenGLpanel... и.т.д
Модератор: Модераторы
-
TehnikHarlan
- новенький
- Сообщения: 24
- Зарегистрирован: 26.11.2018 15:01:35
pl_OpenGL, OpenGLpanel... и.т.д
Доброго времени суток. Установил из Сетевого диспетчер пакетов "pl_OpenGL".
Пошлите меня куда то где можна почитать про работу с компонентами OpenGLPanel, OpenGLCanvas, OpenGL2DCanvas.
Раньше я работал с компонентом OpenGLControl что аналогичный OpenGLPanel, но есть маленькие нюансы.
Кроме того появились компоненты OpenGLCanvas, OpenGL2DCanvas. Наверно полезные и стоило бы про них узнать.
В examples котторые в папке с установленим Лазарусом примеры только о том же OpenGLControl.
На домашней странице https://bitbucket.org/saschawillems/dgl ... rc/master/ нету никакой информации или я ее не вижу.
Гугление ничего абсолютно не дает.
Пошлите меня куда то где можна почитать про работу с компонентами OpenGLPanel, OpenGLCanvas, OpenGL2DCanvas.
Раньше я работал с компонентом OpenGLControl что аналогичный OpenGLPanel, но есть маленькие нюансы.
Кроме того появились компоненты OpenGLCanvas, OpenGL2DCanvas. Наверно полезные и стоило бы про них узнать.
В examples котторые в папке с установленим Лазарусом примеры только о том же OpenGLControl.
На домашней странице https://bitbucket.org/saschawillems/dgl ... rc/master/ нету никакой информации или я ее не вижу.
Гугление ничего абсолютно не дает.
Без паники! Все есть !
[путь куда скачен пакет]\ct4laz\pl_examples
[путь куда скачен пакет]\ct4laz\pl_examples
pl это пилот логик?
Советую поискать оригинальный компонент с которого эти "красавчики" перебили шильдики на pl_ и использовать его
Советую поискать оригинальный компонент с которого эти "красавчики" перебили шильдики на pl_ и использовать его
-
TehnikHarlan
- новенький
- Сообщения: 24
- Зарегистрирован: 26.11.2018 15:01:35
Спасибо большое) Уже не пропаду)
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
zub писал(а):Советую поискать оригинальный компонент с которого эти "красавчики" перебили шильдики на pl_ и использовать его
Вам надо - вы и ищите. А у нас уже есть!
-
TehnikHarlan
- новенький
- Сообщения: 24
- Зарегистрирован: 26.11.2018 15:01:35
Снег Север писал(а):zub писал(а):Советую поискать оригинальный компонент с которого эти "красавчики" перебили шильдики на pl_ и использовать его
Вам надо - вы и ищите. А у нас уже есть!
Ну почему же, если есть чтото лучше почему бы и не пользоваться этим.
TehnikHarlan
Тебе пудрят голову и впаривают суррогат. забей на pl
>>Ну почему же, если есть чтото лучше почему бы и не пользоваться этим.
надо пользоваться оригиналом. pl_OpenGL - это лазаревский OpenGL с перебитым копирайтом, рефакторингом и какимито рюшками, как впрочем большинство (всё?) от пилотлоджик
Тебе пудрят голову и впаривают суррогат. забей на pl
>>Ну почему же, если есть чтото лучше почему бы и не пользоваться этим.
надо пользоваться оригиналом. pl_OpenGL - это лазаревский OpenGL с перебитым копирайтом, рефакторингом и какимито рюшками, как впрочем большинство (всё?) от пилотлоджик
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
TehnikHarlan писал(а):Ну почему же, если есть чтото лучше почему бы и не пользоваться этим.
Оно не лучше, оно требует обработки напильником или вообще "ломом и какой-то матерью". А pl_компоненты работают немедленно. В Тифоне, разумеется.
-
TehnikHarlan
- новенький
- Сообщения: 24
- Зарегистрирован: 26.11.2018 15:01:35
Извините, я собственно електронщик и пользуюсь в основном Лазарусом для визуализации показаний датчиков, комуникации по Ethernrt, USB, Com Port. Я не професионал в деле програмирования) Стараюсь упрощать себе работу с используя компонетти чтоб сильно не углублятся , посколько боюсь не осилю. Но есть ситуации когда надо понимать детально что как происходит. О pl и их работе я ниче не вкурсе. Когда вы говорите о оригинале, что вы собственно имеете ввиду?
TehnikHarlan, вам нужно определиться, что вы хотите от OpenGL. Если вы для общего пользования и/или для обучения. То большинство компонентов вам не нужно. Используйте напрямую lazOpenGLContext. И не заморачивайтесь дополнительными компонентами. Изучите OpenGL после этого уже смотрите, нужно вам что-то из компонентов или нет.
Есть много "готовых" библиотек и компонентов, которые не обязуют знать сам OpenGL и позволяют работать с 2D/3D графикой, не вдаваясь в 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
http://glscene.sourceforge.net/wikka/
Идет кучей примеров на все случаи жизни. У вас там есть viewport - собственно показ изображения и компонент сцена, к которому вы цепляете всё, что хотите показать. Дополнительно - источник освещения сцены и камера, которая смотрит на сцену. Всё это нужно, в основном, если показывать трёхмерную картинку. Если только двумерную, то можно и попроще - например graphics32 -
https://github.com/graphics32/graphics32
-
TehnikHarlan
- новенький
- Сообщения: 24
- Зарегистрирован: 26.11.2018 15:01:35
Огромное спасибо за ответы и советы!
Первый же ответ от Alex2013 мне сразу решил вопрос. Но если уж тут зашла такая дискуссия, то моя задача такая:
Получить от КМОП видеосенсора информацию о изображении в виде двухмерного масива байт, который несет данные о состояние субпикселей. Из этих субпикселей которые построены по схеме Байера собрать нормальное изображение и вывести на монитор. Видеосенсор может выдавать больше сотни кадров в секунду. Я же ограничен и могу выводить 50 кадров/с при разрешении 640х480, и 20 кадров/с при разрешении 1200х960. Это естественно зависит еще от процесора и видеокарти. Кроме того есть ограничение по каналу передачи но в него я еще не уперся.

Вывожу изображение на OpenGLControl вот так:
Если есть способ выводить изображение быстрее, и достичь частоты кадров приятной глазу на большых разрешениях можете подсказать какие библиотеки, компоненты использовать. Может стоить использовать другие среди, язики програмирования. Возможно заметный эффект даст использование видеокарт Quadro?
Первый же ответ от 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?
Данный способ вывода особенно медленный.
В данном случае проще перевести изображение в массив и массивом скинуть. А я так понимаю, что массив уже готов?
Если массив выложен чисто из кодов цвета, то надо задать ещё массив координат.
Рост "Суперкнига" стр. 567.
Есть вариант выкладывать как текстуру, но для этого надо перевести массив в текстуру. Думаю в данном варианте будет сложнее для понимания.
А тот код который вы привели, можно ускорить, развернув циклы. Хотя бы внутренние. Кода будет больше, но и работать на порядок быстрее будет.
В данном случае проще перевести изображение в массив и массивом скинуть. А я так понимаю, что массив уже готов?
Если массив выложен чисто из кодов цвета, то надо задать ещё массив координат.
Рост "Суперкнига" стр. 567.
Есть вариант выкладывать как текстуру, но для этого надо перевести массив в текстуру. Думаю в данном варианте будет сложнее для понимания.
А тот код который вы привели, можно ускорить, развернув циклы. Хотя бы внутренние. Кода будет больше, но и работать на порядок быстрее будет.
-
TehnikHarlan
- новенький
- Сообщения: 24
- Зарегистрирован: 26.11.2018 15:01:35
Seenkao писал(а):Данный способ вывода особенно медленный.
В данном случае проще перевести изображение в массив и массивом скинуть. А я так понимаю, что массив уже готов?
Если массив выложен чисто из кодов цвета, то надо задать ещё массив координат.
Рост "Суперкнига" стр. 567.
Есть вариант выкладывать как текстуру, но для этого надо перевести массив в текстуру. Думаю в данном варианте будет сложнее для понимания.
А тот код который вы привели, можно ускорить, развернув циклы. Хотя бы внутренние. Кода будет больше, но и работать на порядок быстрее будет.
Спасибо, попробую!
Посмотри мой долгоиграющий проект "Цифровая оптика" (Одна из главных целей сделать софт для " народного ХолЛинза" )
http://www.freepascal.ru/forum/viewtopi ... =9&t=25002
Если заинтересует, можно будет объединить услиля .
+ Еще собираюсь сделать свой "ВиАр-Экран" а там как-раз нужно видео-поток на текстуру пускать ... Честно говоря пока что не очень себе представляю сам механизм повторной перезагрузки текстуры.
http://www.freepascal.ru/forum/viewtopi ... =9&t=25002
Если заинтересует, можно будет объединить услиля .
+ Еще собираюсь сделать свой "ВиАр-Экран" а там как-раз нужно видео-поток на текстуру пускать ... Честно говоря пока что не очень себе представляю сам механизм повторной перезагрузки текстуры.
