Страниц: [1] 2 3
  Печать  
Автор Тема: OpenGL в QNX/Photon : С чего начать?  (Прочитано 28687 раз)
Fregl
Sr. Member
****
Offline Offline

Сообщений: 396


Просмотр профиля
« : Сентября 28, 2010, 05:58:41 pm »

Столкнулся с проблемой выбора, на чем писать ПО верхнего уровня.
До этого писалось все в PhAb виджетами (мнемосхемы и прочая графическая/текстовая информация).
Но у этого подхода много недостатков:
-относительно медленная прорисовка (размеры окна 3840*1080, предполагается еще больще - 2-4 монитора 32 дюйма с разрешением 1980*1080),
-однослойная графика (иногда приходится рисовать виджеты поверх остальных, перетаскивать, выделять группы и т.д. - тормозит),
-узкая заточенность под фотон,
-отсутствие масштабируемости и еще много других.

Посему встала проблема написания кросс-платформенного своего графического движка (что бы была возможность собрать под qnx, linux, win).
Движок будет писать другой человек, но он знает только win32 и делфи (писать будет на CBuilder). Моя задача все это перенести в QNX.

Сначала думали использовать Qt. Но под QNX он тормозит (в графике),да и громоздкий он.
Решили писать на OpenGL.

Так вот, почитав немного форум, выяснил что особой производительности под qnx не видать даже в GL?
Сейчас используем карточки от ATI.
По сути нужно отображать двухмерную графику (мнемосхемы, текст).

Стоит ли писать на OpenGL или есть другие варианты? С чего начать?
Записан
Fregl
Sr. Member
****
Offline Offline

Сообщений: 396


Просмотр профиля
« Ответ #1 : Сентября 28, 2010, 06:00:46 pm »

в прочем рассматривается вариант Linux/Win32 и отход от QNX на верхнем уровне (изза слабой поддержки современного оборудования), так что советы по линуксу и винде тоже принимаются )
Записан
oder
Гость
« Ответ #2 : Сентября 28, 2010, 06:37:54 pm »

Движок будет писать другой человек, но он знает только win32 и делфи (писать будет на CBuilder). Моя задача все это перенести в QNX.

Сочувствую. Sad Если человек знает только Delphi - уж он-то графический движок напишет: дальше некуда. Smiley
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #3 : Сентября 28, 2010, 10:35:19 pm »

-относительно медленная прорисовка (размеры окна 3840*1080, предполагается еще больще - 2-4 монитора 32 дюйма с разрешением 1980*1080),
Если перерисовывать 2-4 монитора при таком разрешении, то я наблюдаю реальное падение производительности даже на Matrox P690 с двумя видеовыходами под QNX'ом, а в этом драйвере производительность 2D сделана по максимуму через 3D engine самой видеокарты. А если запустить фотон на двух таких карточках, то ещё больше падает производительность. Поэтому стоит всегда думать о том, чтобы не перерисовывать всё окно, а только изменившиеся части и это очень важно.

Посему встала проблема написания кросс-платформенного своего графического движка (что бы была возможность собрать под qnx, linux, win).
Движок будет писать другой человек, но он знает только win32 и делфи (писать будет на CBuilder). Моя задача все это перенести в QNX.
Вероятность провала около 95%.

Так вот, почитав немного форум, выяснил что особой производительности под qnx не видать даже в GL?
Сейчас используем карточки от ATI.
По сути нужно отображать двухмерную графику (мнемосхемы, текст).
Стоит ли писать на OpenGL или есть другие варианты? С чего начать?
Только писать не на OpenGL, а на OpenGL ES сразу, чтобы потом ещё раз не переписывать движок. По поводу производительности OpenGL ES, стоит обратиться в sales QSS, чтобы они дали ответ о поддерживаемом оборудовании, всё не так плохо Smiley
Записан

Fregl
Sr. Member
****
Offline Offline

Сообщений: 396


Просмотр профиля
« Ответ #4 : Сентября 29, 2010, 01:05:08 pm »

ну на счет движка на делфи - проги у него 3х мерные вполне прикольные, используются в основном в интерактивной рекламе, поэтому решили привлечь его для нашей задачи. конечно кросплатформенность у меня у самого вызывает сомнения по поводу производительности.
на счет OpenGL ES.
Где почитать поподробнее для QNX случая? В хелпе я понял, что для использования OpenGL ES надо работать через GF.
Можно ли это дело интегрировать в приложение, написанное на PhAB?

Теоретически на диспетчерском пульте кроме АРМ ничего не надо запускать. Т.е. оконная система как бы и не нужна (за редкими случаями настройки, когда надо запустить несколько консолей и пару служебный прог).

Когда я изучал GF, я так и не понял, как обрабатывать события от мыши и клавы без использования фотона.
Записан
Fregl
Sr. Member
****
Offline Offline

Сообщений: 396


Просмотр профиля
« Ответ #5 : Сентября 29, 2010, 01:07:08 pm »

а так же, как в GF рисовать линии, круги и прочие граф. примитивы и текст. есть где более подробная инфа, кроме встроенного хелпа?
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #6 : Сентября 29, 2010, 11:21:58 pm »

Где почитать поподробнее для QNX случая? В хелпе я понял, что для использования OpenGL ES надо работать через GF.
Как запускать OpenGL ES приложения под фотоном, можно посмотреть в исходниках SDL 1.3 development версии. GF нужен будет под фотоном, но только для того, чтобы создать surface.
Записан

zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #7 : Февраля 09, 2011, 12:02:53 pm »

Как включить поддержку EGL? Пробовал опцию -IGLES_CM - не помогло.
Записан
qnxloder
Sr. Member
****
Offline Offline

Сообщений: 292


Просмотр профиля
« Ответ #8 : Февраля 09, 2011, 12:25:32 pm »

#include <GLES/glext.h>
Записан
zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #9 : Февраля 09, 2011, 01:47:56 pm »

Подключил - все равно не определяет функции egl-вские.
Записан
qnxloder
Sr. Member
****
Offline Offline

Сообщений: 292


Просмотр профиля
« Ответ #10 : Февраля 09, 2011, 02:23:40 pm »

egl.h
Записан
zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #11 : Февраля 09, 2011, 03:34:05 pm »

Подключил все, что было в папке GLES, и ничего.
Записан
zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #12 : Февраля 09, 2011, 04:14:20 pm »

А как вообще устанавливать OpenGL- вские библиотеки? Скачал Mesa-7.9 и glues-1.4. Их надо как-то подключать, или достаточно установленных компонентов в системе?
Записан
qnxloder
Sr. Member
****
Offline Offline

Сообщений: 292


Просмотр профиля
« Ответ #13 : Февраля 09, 2011, 05:56:45 pm »

У меня так:
#define GL_GLEXT_PROTOTYPES
#include <gf/gf3d.h>
#include <GLES/glext.h>
#include <GLUES_CM/glues.h>

/usr/lib/libGLUES_CM.so
/usr/lib/libGLUES_CM.so.1 - symlink to /usr/lib/libGLUES_CM.so

На смет меса не подскажу, под qnx не встречал, надеюсь GLUES под QNX скачан?
Записан
zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #14 : Февраля 09, 2011, 06:43:15 pm »

Скопировал библиотеки, подключил glues.h - теперь работает. Спасибо Smiley.
Записан
Страниц: [1] 2 3
  Печать  
 
Перейти в: