В контексте разработки VR-приложений с использованием OpenGL Core Profile сталкиваюсь с необходимостью оптимизации occlusion culling. Проблемы с освещением и прорисовкой мешей заставляют искать способы улучшения производительности. Какие лучшие практики или алгоритмы следует применить для повышения эффективности occlusion culling, чтобы минимизировать нагрузку на GPU и одновременно поддержать стабильный фреймрейт? Нужны советы по дебагингу occlusion culling, особенно те, что помогут отсечь всяческую ерунду, влияющую на производительность. Интересуют оптимизации как на уровне шейдеров, так и обработки данных на CPU перед их передачей в GPU.
Слышал про разделение сцены на квадранты?
А какой у тебя фреймрейт «в идеале»?
Уже попробовал использовать Hi-Z maps?
Подготовка данных для GPU — ключ к успеху.
3 Ответы
На уровне шейдеров, стоит оптимизировать свой код, избегая сложных вычислений в фрагментных шейдерах для объектов, которые могут быть закрыты другими. Это уменьшит нагрузку на GPU, так как невидимые фрагменты не будут отбраковываться после выполнения лишних вычислений.

Зачем VR, если есть окно настоящий мир?