Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Оптимизация рендера космического пространства [Delphi, Windows]


NailMan ©   (2003-10-17 11:16:00) 

Вобщем имеется сцена с ~200 объектами имеющими разное число примитивов и разную конфигурацию.

Больше всего объектов с формой приближенной к сферической:
- планеты/компоненты звезды - сферы с числом фейсов около 500-700 на каждого
- астероиды различной формы с числом фейсов ~300 на каждого. В ближней дистанции(нулевой LOD) на астероид будет накладываться EMBM или DOT3.
- всякий космический мусор человеческого происхождения. В нулевом лоде будет накладываться Shere или Cube mapping.
- Корабли и прочая техника с числом фейсов от 100 до 5000 со всеми вкусностями в плане FX.

Столкновения реализованы через сферы, поэтому в списке боундов для каждого объекта есть сфера(точнее координаты центра и радиус) описанная вокруг этого объекта.

Хочется сделать исключение из списка рендера тех объектов, которые не попали в область видимости камеры(не попала описанная сфера).

Собсно как реализовать? Фрустум или как-то иначе? Хоть какой-нить примерчик на pascal/delphi.


VitGun   (2003-10-19 19:20:00) [1]

2Vladimir Vasilyev. Абсолютно согласен. Octree+Frustum Culling


Vladimir Vasilyev   (2003-10-17 17:29:00) [2]

Прежде всего разделение пространства - для твоего случая это однозначно Octree

Второе - конечно отсечение лишнего через Frustum


Стекляшкин   (2003-10-17 14:01:00) [3]

www.gamedev.ru там тебе все и расскажут про Frustum Culling. А собственно что нужно? Формулы?
Всякая камера есть призма. Определяй попадает ли твоя сфера в призму и все. Соответственно дальнюю и ближнюю плоскость не проверяшь. Проверяешь только боковые, верхнюю и нижнюю.


Наверх

Титульная страница Поиск, карта сайта Написать письмо