![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Алгоритм быстрой 3D графики
DevilDevil © (2006-06-07 00:21:00)Скачал тут проект XProger-а, называется "XTropper"... Я вообще давным давно хотел это спросить, т.к. в своё время написал простую 3D комнату, а FPS уже был маленьким; вышеуказанный проект только подтолкнул на этот шаг. Вопрос:почему такая относительно крутая "GTA - Vice City" идёт без проблем, а ерунда [не в обиду, всё относительно] XTroper тормозит? Какие алгоритмы отсечения "ненужного" используют профессиональные игроделы? Ни где не встречал подобной информации
RzCoDer (2006-06-07 12:04:00) [1]
> DevilDevil
Все подобные советы в статьях описаны, а если не описаны значит это программерская тайна ;)
DevilDevil (2006-06-07 09:33:00) [2]> XProger ©
ДА НЕ ОСУЖДАЮ Я ТЕБЯ, не надо [но лучше исправить :)] никаких глюков... блин... Вопрос в другом!!! Выкладывайте секреты проф программинга!
Rial (2006-06-07 02:45:00) [3]Я, например, собственоручно при создании трехмерной карты разбивал все на области видимости, в том числе и смежные области. Потратил всего 20-30 часов, а быстродействие увеличилось в 3 раза !
И нужно как можно больше пытаться просчитать заранее, один раз.
Отсекать невидимые вершины.
Не использовать Lists+glScale.(Извините конечно меня мастера, но у меня с этой комбинацией были проблемы).
Не использовать glSelectBuffer(S,Pointer(ptRenderer)) несколько раз за кадр. Лучше вообще про него забыть.
Забыть как страшный сон GL_LINES,GL_POINTS,GL_QUADS и прочую муть.
В мире есть только трегольники, обычные и связанные !
Например, GL_QUADS - это 4 треугольника, хотя вполне достаточно и 2-х.
Не генерировать текстуры на каждом кадре (ужас).
Не делать часто смену контекста восмпроизведения, так как, видимо,
MicroSoft там специально Sleep добавил :)).
По моим тестам
glRotateF(Angle,KX,KY,KZ);
выполняется, например, медленнее, чем SinCos(Out Sn,Cs);
Надеюсь, понятно, к чему это.
Если выводится текст из списков, то размеры букв для его
правильного центрирования лучше кешировать, а не запрашивать постоянного
у предварительно созданного канваса (я такое один раз видел).
Вовремя отключать генерицию текстурных коордимат.
Больше что то на ум ничего сразу не приходит.
XProger (2006-06-07 02:03:00) [4]Ricks, в варкрафте однопроходный рендеринг.
Скорость работы игры зависит от кривости рук программиста, у меня эта кривость очень сильно выражена ;)
Ricks (2006-06-07 01:58:00) [5]Такой же вопрос:
в Warcraft III карта (несколько слоев текстур) + юниты + природа + эффекты + ... и все это нормально идет, у меня же карта из 4-х слоев уже тормозит все на 50-60 fps... :(
XProger (2006-06-07 01:20:00) [6]DevilDevil, -noblood не будет крови - не будет тормозов. Глюк знаю исправлять не собираюсь.
DevilDevil (2006-06-07 01:18:00) [7]XProger © (07.06.06 01:14) [5]
В GTA есть и fullscreen, и кровь, и даже звук. Здесь что-то серьёзнее
XProger (2006-06-07 01:14:00) [8]DevilDevil, глюк мой, а readme.txt гордость не позволяет прочесть?
DevilDevil (2006-06-07 01:08:00) [9]GeForce fx 5500. Старьё конечно, но факт!
зы тормозит при разлетании пауков на куски. А вообще проект прикольный
DevilDevil (2006-06-07 00:31:00) [10]Ответом неудовлетворён !
XProger (2006-06-07 00:31:00) [11]DevilDevil, какая видеокарта и версия драйверов?
TWINc (2006-06-07 00:30:00) [12]как вариант BSP со всякими там PVS :)