Форум: "Игры";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
ВнизБыстрый вывод в OpenGL. Найти похожие ветки
← →
Unknown user (2003-07-24 19:27) [0]Для того, чтобы почувствовать аппаратное ускорение в OpenGL надо рисовать все объекты связанными треугольниками, или это не обязательно?
← →
Vitas2 (2003-07-25 10:39) [1]нет необезательно новые видео карты много чего аппарвтно могут
← →
wiz (2003-07-25 11:39) [2]Вообще говоря в самом OpenGL нет ничего, кроме треугольников. Любые другие примитивы (Triangle_Fan, Quad, Polygon etc.) это просто макросы, т.е. при их выполнении все равно используются треугольники.
Так что можно "рисовать" чем угодно, другое дело что при использовании того же T_Fan"а можно сэкономить немного кода :)
← →
Asteroid (2003-07-25 15:00) [3]При стрипе можно сэкономить на пересылке лишних вершин. Правда, насколько это будет заметно - ни знаю. Еще можно использовать индексированные вершины, текс. координаты и нормали (только в стандартном заголовке OpenGL этих функций нет описывать надо вручную)
← →
wiz (2003-07-25 16:19) [4]
> Правда, насколько это будет заметно - ни знаю
По-моему, раскраска этого самого треугольника (и натягивание текстуры) займет значительно больше времени, чем передача лишних 4 float"ов. Зато никакой путаницы.
> Еще можно использовать индексированные вершины, текс. координаты
> и нормали
wow, а можно поподробнее?
← →
Unknown user (2003-07-25 17:41) [5]Спасибо всем за инфу -приму к сведению.
И еще по поводу ускорения вывода графики. Я пытаюсь отрисовывать карту города в 3Д, а это огромное количество объектов, около 85 000, и каждый состоит из нескольких полигонов. В общем, тормозит ужасно. Я понимаю, что выводить все объекты сразу нет смысла, так как человек, идущий по улице видит всего несколько десятков объектов (камера, по замыслу, смотрит глазами идущего человека). Но возникает проблема, как выяснить координаты видимой в данный момент области карты, причем сделать это нужно до ее отрисовки, а не после. Я использую, как и советовал wiz, glRotate(Angle,1,0,0) -камера вверх-вниз, и glRotate(Angle,0,0,1) -камера влево-вправо, перемещение должно происходить за счет пересчета координат видимых объектов. Я уже запутался во всех этих проекциях, может, кто-то занимался подобным?
← →
Asteroid (2003-07-25 18:32) [6]К сожалению, не помню, откуда скачал, так что: http://www.jedas.narod.ru/Docs/OpenGLHelp.rar (700K, Rar 3.0, на английском, CHM).
Функции: glEnableClientState, glDisableClientState и все ссылки от них.
← →
Landgraph (2003-07-26 11:47) [7]Ну, не мудрствуя лукаво, можно просто (если есть вся карта, а она я так понимаю есть) брать определенный кусок (квадратик 10х10 единиц, например), центром которого является наблюдатель и рисовать только то, что входит в этот квадратик.
← →
Toxaz (2003-08-28 02:20) [8]Ну ко всему етому можно добавить glGenLists для всего городa, если конечно видео памяти много
← →
Asteroid (2003-08-28 05:35) [9]> Toxaz [8]
glGenLists уменьшает время на расчет/загрузку города, но не вывод.
← →
mrAld (2003-08-28 12:28) [10]Я понимаю, что выводить все объекты сразу нет смысла, так как человек, идущий по улице видит всего несколько десятков объектов (камера, по замыслу, смотрит глазами идущего человека).
Идея правильная. Например, нужно задать себе вопрос: как в играх OpenGL видеть источники света >8 шт? Вычисли угол поворота, разбей карту на связанные структуры, в виде графов, в общем, пофантазируй...
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c