Почему результаты запроса окклюзии являются неточными, когда включена мультисэмплинг?

В последнее время я использую технологию окклюзионных запросов в своем проекте, и она отлично работает, когда не включен мультисэмплинг (msaa). Но когда я включил мультисэмплирование, я обнаружил, что результаты запроса окклюзии неточны, иногда он возвращает< 10 пикселей, даже если я уверен, что объект скрыт. Я предполагаю, что это вызвано мультисэмплингом буфера глубины, но я не уверен. Я использую D3D9. Как это решить?

1 ответ

Поздний ответ, но лучше поздно, чем новее, даже если это только для будущих читателей.

Похоже, что запросы окклюзии возвращают количество сэмплов , прошедших тест глубины, и поэтому вам следует разделить результат на количество семплов ваших буферов цвета/глубины, чтобы получить реальный результат в пикселях.

Это относится ко всем API, но похоже, что только D3D9 неправильно документирует эти запросы как «возвращающие пиксели». Документы MSDN, вероятно, следует обновить, чтобы они были правдивыми.

Другие вопросы по тегам