Привет команда, столкнулся с задачей адаптации графических ресурсов в проекте VR на базе OpenVR. Мне надо реализовать функционал, который позволит динамически менять текстуры в зависимости от уровня суперсемплинга, установленного пользователем через SteamVR. Могли бы вы подсказать механизм или API, через который я могу задействовать текстуры разной разрешающей способности on-the-fly? Это значительно повысит перформанс и качество видео перед публикацией в маркете. Фишки типа mipmapping и LODs уже в курсе, но нужно что-то более специфичное для VR сценариев. Объем памяти и баланс GPU/CPU ресурсов – критичны.
А LODы для слабаков, да?
Чекни SteamVR_RenderScale.
2 Ответы
Ох, вот еще умник появился. Забудь, не твой уровень.
Чтобы гибко настраивать текстуры в зависимости от уровня суперсемплинга в OpenVR, можно использовать callback-механизм SteamVR. Во время события изменения суперсемплинга возможно переключаться между различными наборами текстур, загружая их в GPU в зависимости от требуемого разрешения. Подумайте о предварительной загрузке текстур в разных разрешениях и быстром переключении между ними.

Как насчет алгоритма с динамической адаптацией текстур?