Содержание
- 2. Шейдинг-система. Требования. Богатые возможности реализации материалов Поддержка нескольких механизмов освещения Максимальная производительность без скачкообразных провалов Мультиплатформенность
- 3. uber shader. Один шейдер. По шейдеру на фичу материала / схему лайтинга Сложно программировать и поддерживать
- 4. Uber shader. Дефайны компиляции. Почему не статик бранчинг? Рантайм-изменение константы ведет к перекомпиляции Почему не динамик
- 5. Uber shader. Комбинаторика. 2^83 Platform (8) Blend / Akill (2) - Instancing (1) - Color/Depth/Light Pass
- 6. Компиляция по требованию. Очевидная и простая реализация Редактирование шейдеров «на лету» Не используется ни одного лишнего
- 7. Компиляция по требованию + кэш. Runtime stall только при первом обращении к шейдеру – может быть
- 8. Ручная сборка кэша. Тестовые «насыщающие» забеги 9 х 16 платформ (16 = 4 бинарные опции) 40
- 9. Полуавтоматическая сборка кэша Четко отделить параметры платформы / видео-опций от всех остальных и собирать независимые параметры
- 10. Полуавтоматическая сборка кэша PC4, Test21 X360 PS3 PC
- 11. Полуавтоматическая сборка кэша Отсутствие промахов не обеспечивается Инвалидация при изменении уровня Инвалидация при изменении набора дефайнов
- 12. Автоматическая сборка кэша. Пререндер. Замена «тестера» в п/автоматической схеме Легкий ребилд при изменении арта Отсутствие избыточности,
- 13. Автоматическая сборка кэша. Интеллектуальный перебор. Полное покрытие Никакой дополнительной работы / данных Фиксирование параметров материалов, реструктуризация
- 14. Автоматическая сборка кэша. Интеллектуальный перебор. Platform Material Lighting Render condition CACHE, > 500k total -Options -LOD
- 15. Процесс сборки Define Generator X360 PS3 PC Scene
- 16. Сокращение кол-ва комбинаций. Дополнительные вычисления Все динамические источники – прожекторы Туман всегда включен LOD сделать статической
- 17. Runtime, консоли Кэш хранится per-level, загружается полностью вместе с уровнем Весь кэш в памяти в компрессированом
- 18. Runtime, PC За D3D Runtime работает драйвер CreateShader() работает медленно либо Первый DIP с только что
- 20. Скачать презентацию