|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.04.2012, 21:40 | #1 |
Регистрация: 03.04.2012
Сообщений: 5
|
Оптимизация рендеринга 3Д-моделей
Здравствуйте. подскажите пожалуйста, какие существуют основные способы оптимизации рендеринга трехмерных моделей.
К примеру я знаю, что существует способ "удаление невидимых граней". Какие еще бывают? |
28.04.2012, 22:37 | #2 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
На вскидку...
Лоды (LOD - Level of Detail) уровень детализации сетки(Mesh). самый детальный уровень вблизи наблюдателя и самый не детализированный на максимально возможном расстоянии от наблюдателя. Проверка Фрустума камеры. Камера видит усеченную пирамиду то что в ходит в нее рисуется что за пределами пирамиды не рисуется. Проверяют обычно: точки центры объектов, сферы описывающие объем объектов или их коробки на предмет попадания в пирамиду видимости . Восьмеричное дерево. Октрии(Octree). Все пространство делиться тремя ортогональными(взаимно перпендикулярными) плоскостями. Полученные в результате объемы вновь делятся и так далее. В результата каждый уровень окто-дерева содержит 8-мь узлов. В которых так же могут находиться под-узлы и так далее. Затем для оптимизации скорости прорисовки проверяют с верху(корень дерева) если узел виден во фрустуме камеры рисуют объекты которые находятся в нем и проверяют остальные под узлы данного узла. Однако, если узел не виден во фрустуме камеры его не рисуют, отбрасывают и дочерние узлы не проверяют. Инстансинг – прорисовка большого кол-ва однотипных объектов. За минимальное кол-во вызовов ф-й граф. АПИ и с минимальной нагрузкой на ЦПУ. Поскольку все необходимые данные предоставляются видео карте. Обычно это связка двух вершинных буферов и шейдерной программы, в первом буфере может находиться модель которую нужно нарисовать, а в другом позиция/размер/ориентация, т.е то как надо отрисовать очередного из многих. Забыл как эта технология называется, но суть в том что бы рендерить очень редко модель в текстуру, а эту текстуру использовать как удаленный объект. Такая текстура накладывается на два треугольника(прямоугольник), последний может ориентироваться на наблюдателя. Occlusion Queries. Проверка прошли ли обработку какие-нибудь семплы рисуемого объекта. Как правило делает либо в отдельным пассом(шагом) с самыим простыми шейдерами и без записи в цветовой буфер, можно проверить была ли запись в буфер глубины, если да то объект виден. Значит нужно рисовать более качественное его представление. Так же Occlusion Queries может быть иерархическим некая аналогия с окто деревом. Если дом не виден, зачем нам проверять на предмет видимости его содержимое? Occlusion Queries можно кидать на проверку в текущем кадре с нормальной прорисовкой объектов а использоваться лишь на следующем. ... |
30.04.2012, 11:41 | #3 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Ещё уменьшение количества источников освещения.
|
30.04.2012, 18:07 | #4 | |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Ну до кучи можно еще вспомнить
Про оптимизация такого рода, то что лучше рисовать геометрию стрипами(лентами из смежных треугольников) оптимизированных для Post-TnL и Pre-TnL кеши видео карты. Лекция тутъ -> X Еще... deferred shading - Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конвейер рендеринга. | Warn | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 16.12.2011 09:51 |
Столкновения 3D моделей | Zver1993 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 09.10.2010 13:19 |
Открытие 3d моделей в VC++ | Corrat | Помощь студентам | 2 | 04.05.2010 22:41 |
Сопоставление моделей | cartoongirl | Microsoft Office Excel | 6 | 21.04.2008 14:35 |