forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   OpenGL (http://forum.boolean.name/showthread.php?t=356)

jimon 27.12.2005 14:40

спасибо

pax 27.12.2005 22:38

Цитата:

А версия какая?
По мойму тоже самое что и онлайн учебник, на который Жека ссылку давал...

Conan Fedr 16.02.2006 00:52

Вложений: 4
Вот дам вам пару учебников из своей коллекции :) очень хороший народный учебник по OpenGL ну и еще один неплохой .

Magus 22.02.2006 00:40

Объясните кто-нибудь дураку поподробнее, как загружать вмодели из 3дмакса(желательно с примером).

pax 22.02.2006 01:56

Вложений: 2
Сам я не пробовал ниче отсюда, и не разбирал, но может вам поможет...

pax 22.02.2006 02:06

Вот тут еще гляньте:
http://morgeyz.elayne.ru/elaynemdl.rar
там 3 формата вроде
3ds, asc, md2

pax 16.06.2006 22:57

Вот статья с подробным описанием формата MD2, его загрузки и рендеринга c использованием OpenGL, также там есть исходники загрузчика.

http://tfc.duke.free.fr/old/models/md2.htm

А вот для формата MD2 спецификация:

http://tfc.duke.free.fr/coding/md2-specs-en.html

Вот описание формата (спецификация) и загрузчик формата MDL:

http://tfc.duke.free.fr/coding/mdl-specs-en.html

Вот описание формата (спецификация) и загрузчик формата MD5:
http://tfc.duke.free.fr/coding/md5-specs-en.html


PS: все это можно найти здесь: http://tfc.duke.free.fr/

pax 18.06.2006 12:32

Вопрос тем, кто работал с OpenGL:

Что быстрее визуализируется - дисплейные списки или массивы вершин с текстурными координатами и нормалями с большим кол-вом примитивов (GL_TRIANGLES, GL_QUADS и т.д.)?

pax 20.06.2006 12:47

Вот написал три теста "рисования" большой плоскости из GL_QUADS 150*150 т.е. 22500 квадов или 45000 треугольников с различными техниками отображения:

1. Array.exe - создается простой массив вершин (Ground) и рисуется следующим образом:

Код:

glInterleavedArrays(GL_T2F_N3F_V3F, 0, Ground);
        glDrawArrays(GL_QUADS, 0, fwidth*fheight*4);

2. ArrayInDisplayList.exe - тож самое, что и первый вариант, только массив помещается в дисплейный список:


Код:

flist=glGenLists(1);
        glNewList(flist,GL_COMPILE);

        glInterleavedArrays(GL_T2F_N3F_V3F, 0, Ground);
        glDrawArrays(GL_QUADS, 0, fwidth*fheight*4);
        glEndList()

        ...


        glCallList(flist);

3. DisplayList.exe - дисплейный список заполняется и рисуется следующим образом:

Код:

int t[2];
        int v[3];

        flist=glGenLists(1);
        glNewList(flist,GL_COMPILE);

                for (int i=0; i<fwidth; i++)
                {
                        for (int j=0; j<fheight; j++)
                        {
                                glBegin(GL_QUADS);
                                        glNormal3i(0, 1, 0);
                                                t[0]=0; t[1]=0; v[0]=i; v[1]=0; v[2]=j;
                                        glTexCoord2iv(t); glVertex3iv(  v );
                                                t[0]=0; t[1]=1; v[0]=i; v[1]=0; v[2]=j+1;
                                        glTexCoord2iv(t); glVertex3iv(  v );
                                                t[0]=1; t[1]=1; v[0]=i+1; v[1]=0; v[2]=j+1;
                                        glTexCoord2iv(t); glVertex3iv(  v );
                                                t[0]=1; t[1]=0; v[0]=i+1; v[1]=0; v[2]=j;
                                        glTexCoord2iv(t); glVertex3iv(  v );
                                glEnd();
                        }
                }
        glEndList();

        ...
       
        glCallList(flist);

Потестите пожалуйста... У меня странные результаты:
первые два варианта ведут себя одинаково (FPS 122 - 164 соответственно когда все видно и когда не видно ничего), а вот третий... вообще должно быть медленнее, а выходит что OpenGL как-то сам включает алгоритм определения видимости треугольников и когда на экраене ниче нет FPS выростает до 584, а когда видно поле результат такой же как и в первых двух случаях (FPS около 128 )


PS: Особо интересно как это будет работать на ATI карточках...

PS2: Мой комп: Cel D 2.4GHz/512 MB Dual/64MB GF4 MX440

tormoz 20.06.2006 18:04

Для такой машины тест не впечатляет.
Блитц быстрее работает

jimon 20.06.2006 18:22

что то ты криво зделал...
тут или culling или что то тормозит :) или надо юзать VBO... или хз
[offtop] попробуй вот че
glEnable(GL_NO_BUGS);
glEnable(GL_AUTO_GENERATE_ENGINE);
glEnable(GL_AUTO_CREATE_MODEL);
glEnable(GL_MINIMIZE_FPS_TO_10000);
glEnable(GL_EMULATE_NV120000_WITH_NO_BRAKES);
glEnable(GL_WARP_ME_TO_JONH_CARMACK);

взято из мега ацки серкетного топика на гд
[offtop]

pax 20.06.2006 19:12

Цитата:

Сообщение от tormoz
Для такой машины тест не впечатляет.
Блитц быстрее работает

Хочешь сказать блитц выдаст на много больше 120 FPS при рендеринге 45000 треугольников? Тем более что я не использовал ни одного расширения OpenGL типа VBO.

PS: Хоть бы результаты оставил...

PS2: Я только учусь ;-)

2jimon: обязательно попробую :)

pax 21.06.2006 02:13

Вот хороший ресурс по OpenGL на русском языке:
http://steps3d.animekazan.net/

tormoz 21.06.2006 05:29

45 000 на моем компе 250 фпс.

твои тесты:
1 35 фпс
2-3 скачет от 2000 до 100. фиг поймешь, слишком быстро камера крутицца.

pax 21.06.2006 16:40

Цитата:

Сообщение от tormoz
45 000 на моем компе 250 фпс.

а машина у тебя какая?


Часовой пояс GMT +4, время: 04:09.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot