пятница, марта 28, 2008

Оптимизация рендера Virtools

Сегодня запостил первую альфа версию плагина для оптимизации процесса кулинга для виртулз. Работает на основе KD –Tree иерархии сцены для статической геометрии.
Уже научили:
- Расчет видимости в синхронном с behavior process потоке с возможностью регулирование приоритета
- Статус видимости объектов сохраняется
- Дерево может быть построено исходя из следующих критериев: для группы, для соллекции, для всех существующих рут объектов. Иерархии дочерних объектов сохраняются. Камеры, порталы, плейсы, свет и прочие спец объекты игноряться.
- Возможность выбора глубины рекурсии и эвристического алгоритма для оптимизации базового KD Tree (AABB) - CAH (Count Heuristic ) и PAH (Polygon Heuristic), а так же возможность использовать оптимизацию по минимальной площади (Inflation Square)
- Отладка, возможность просмотреть AABB любого узла дерева, иерархии уровней.

Еще предстоить :
- Сериализация построенного дерева в XML
- Объединение Alpha/MultyMesh LOD и Culling Manager
- Возможность выполнять построение (обновление) дерева в потоке
- Возможность использование не только для статической геометрией


Результаты на тестовом городе в 3500 меня удовлетворили почти полностью :) На моем 1,8 древнющем атлоне с 512 мб озу и карте 5600 fx без оптимизации ~120 fps при ~260 объектах в видимом кадре (на кулинг 6,1 мс), с оптимизацией ~230 fps при том же цисле объектов (на кулинг 0,65мс). При тех же самых условиях 2,2 интел на работе тратить 5,4мс и 0,35мс соответсвенно.
В планах скрестить его с нашим LOD менеджером и попробовать сделать более удобные средства настройки и отладки.

http://www.virtools.ve-group.ru/index.php?showtopic=323&pid=1429&st=0&#entry1429

суббота, марта 08, 2008

Новые технологии текстурирование


Просматривая темы докладов GDC я искал доклад и презентацию 3DVIAmp, но наткнулся на не менее интересный доклад. Тема доклада Alexis Khouri звучит как "Next gen texturing with ProFX inside Virtools 4.1". До сих пор я был не в курсе, что такое ProFX,тем более странно почему в пресс релизе 4.1 о нем не было сказано ни слова :) Итак, ProFX это кроссплатформенная библиотека и среда разработки для создания процедурных текстур на CPU/GPU. В настоящее время существуют версии для PC/XBOX360 /PS3. Технология уже используется в Gamebryo и Unreal 3. Технология так же активно продвигается Microsoft для использования в XNA Tool Suite. Поскольку у меня есть XBOX360 я сразу же полез скачивать RoboBlitz™ от Naked Sky Entertainment's. Реклама не врет - качество текстур на самом деле на высоте.
Разработчикам доступен 3 месячный Try&Buy. Рекомендую скачать и посмотреть - вещь на самом деле заслуживающая внимания, имхо в перспективе за такими системами будущее, тем более было бы приятно если компании DS решит использовать ProFX в Virtools. Огромное количество скриншотов и видео можно найти на офф сайте.

ProFX в 3DVIA - http://www.3ds.com/news-events/press-releases/release/1535/1/
ProFX - http://www.profxengine.com/