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

Сообщений: 60


Просмотр профиля
« Ответ #15 : Февраля 10, 2011, 05:33:21 pm »

При вызове gf_layer_attach вовзращает ошибку GF_ERR_INUSE /* resource in use */. Можно ли все-таки как-то получить управление лэером?
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #16 : Февраля 10, 2011, 10:24:38 pm »

Нужно выйти из фотона.
Записан

qnxloder
Sr. Member
****
Offline Offline

Сообщений: 292


Просмотр профиля
« Ответ #17 : Февраля 11, 2011, 08:44:32 am »

Или, если у вас карточка и драйвер поддерживает несколько слоев аттачится ко второму слою.
Сейчас уже не вспомню, но у меня на радеоне работало, а на интеле нет (или на оборот), (там и там по 2 слоя).
Записан
zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #18 : Февраля 12, 2011, 12:29:26 pm »

Отключил Фотон, теперь пытаюсь рисовать, но ничего не отображается, просто черный экран и все. Набирал вот такой код:
Код:
   GLfloat* v1;
   GLfloat* v2;
   GLfloat* v3;
   GLfloat* v4;
   GLfloat* v5;
   GLfloat* v6;
   GLfloat* v7;
   GLUtesselator*  tobj = gluNewTess();
   /* Clear error */
   glGetError();

   v1 = new GLfloat(1);
   v2 = new GLfloat(2);
   v3 = new GLfloat(3);
   v4 = new GLfloat(4);
   v5 = new GLfloat(5);
   v6 = new GLfloat(6);
   v7 = new GLfloat(7);
   glColor4x(1,0,0,1);
   gluBeginPolygon(tobj);
      gluTessVertex(tobj, v1, v1);
      gluTessVertex(tobj, v2, v2);
      gluTessVertex(tobj, v3, v3);
      gluTessVertex(tobj, v4, v4);
   gluNextContour(tobj, GLU_INTERIOR);
      gluTessVertex(tobj, v5, v5);
      gluTessVertex(tobj, v6, v6);
      gluTessVertex(tobj, v7, v7);
   gluEndPolygon(tobj);
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #19 : Февраля 13, 2011, 08:34:06 pm »

Отключил Фотон, теперь пытаюсь рисовать, но ничего не отображается, просто черный экран и все. Набирал вот такой код:

Лучше взять готовый и проверенный код.

glColor4x(1,0,0,1); - зачем устанавливать alpha значение?
v1 = new GLfloat(1); - после выделения памяти нужно делать инициализацию. Например v1=100f;
Записан

zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


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

Взял пример cylinder, в отдельном проекте он запускается, но когда я код из него вставляю в свой проект,то здесь он не работает. Кстати OpenGL-вские функции не подсвечиваются фиалетовым цветом хотя компилируется нормально.
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #21 : Февраля 14, 2011, 10:01:59 pm »

Ну значит не весь код вставляете Smiley Необходимо правильно инициализировать OpenGL ES контекст прежде чем работать с OpenGL ES функциями.

Записан

zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #22 : Февраля 15, 2011, 02:54:52 pm »

http://embedded.org.ua/screenshots/snap4.png
А чтобы приложение с OpenGL запускалось в отдельном окне в фотоне, это надо видеокарту, которая поддерживает несколько слоев?
Записан
qnxloder
Sr. Member
****
Offline Offline

Сообщений: 292


Просмотр профиля
« Ответ #23 : Февраля 15, 2011, 03:12:55 pm »

Нет не нужно, посмотрите gf-ph-3d в аттаче:
http://community.qnx.com/sf/discussion/do/listPosts/projects.community/discussion.qnx_software_development_platfor.topc4446?_pagenum=3
Записан
zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #24 : Февраля 17, 2011, 05:46:19 pm »

gf-ph-3d у меня не запустился, но нашелся другой пример gf-gl-pg-demo, он заработал, там как раз то, что нужно. Правда OpenGL - вская картинка вставляется как-то криво, в том смысле, что остается окоймовка с рабочего стола.
Записан
zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #25 : Февраля 22, 2011, 06:46:45 pm »

Удалось убрать границу сняв флаги Pt_TOP_ETCH и т.п. в Basic Flags.
Записан
zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #26 : Марта 18, 2011, 12:28:50 pm »

Пишу под OpenGL ES. Примеры работают, а когда пытаюсь писать сам, то не рисует. Вот, например, код:
Код:

    glShadeModel(GL_SMOOTH);
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    glClearDepthf(1.0f);
    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LEQUAL);

    glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);

    GLfloat vertices[4][3];
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glEnableClientState(GL_VERTEX_ARRAY);

    glVertexPointer(3, GL_FLOAT, 0, vertices);
    glColor4f(100.0, 0.0, 0.0, 0.0);

    glLoadIdentity();
    glTranslatef(-1.5f, 0.0f, -6.0f);

    vertices[0][0]=0.0f; vertices[0][1]=1.0f; vertices[0][2]=0.0f;
    vertices[1][0]=-1.0f; vertices[1][1]=-1.0f; vertices[1][2]=0.0f;
    vertices[2][0]=1.0f; vertices[2][1]=-1.0f; vertices[2][2]=0.0f;
    glDrawArrays(GL_TRIANGLES, 0, 3);

    glDisableClientState(GL_VERTEX_ARRAY);

    /* Flush all drawings */
    glFinish();
По-идее должен рисовать треугольник, но не рисует. Может здесь ошибка или что-то не так делаю?
« Последнее редактирование: Марта 18, 2011, 12:34:02 pm от zoom2x » Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #27 : Марта 18, 2011, 07:08:01 pm »

По-идее должен рисовать треугольник, но не рисует. Может здесь ошибка или что-то не так делаю?

А где установки камеры? Установки матриц проекции и мира?

Лучше купить книжку по OpenGL ES. Так лучше будет.
Записан

zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #28 : Марта 24, 2011, 06:17:25 pm »

Скачал книгу по OpenGL ES, правда на английском. Процесс пошел Smiley.
Записан
zoom2x
Jr. Member
**
Offline Offline

Сообщений: 60


Просмотр профиля
« Ответ #29 : Марта 29, 2011, 03:51:36 pm »

Возникли вопросы:
1. Делаю анимацию под OpenGL ES в фотоновском окне. Когда навожу курсор на изображение, он заметно мерцает и вообще становится почти незаметным. Можно ли как-то сделать, чтоб курсор не менялся при передвижении его по картинке?
2. Хотел запустить визуализацию в отдельном потоке, не получилось. Есть ли возможность организации многопоточности в графических приложениях?
Записан
Страниц: 1 [2] 3
  Печать  
 
Перейти в: