При отбраковке лицевой стороны DirectX 11 не отбрасываются лицевые грани на карте теней
Я пытаюсь реализовать теневое отображение (CSM) в DirectX 11, и мне удалось получить работающий прототип. Прямо сейчас я нарисовал геометрию, используя отбор задней грани в проходе карты теней, но теперь я хочу переключиться на отбор передней грани, чтобы еще больше уменьшить прыщи.
Переключение на отбор лицевой стороны ничего не меняет. После глубокого анализа с использованием Visual Studio Graphics Debugger я застрял.
Графический отладчик говорит, что состояние растеризации установлено правильно.
Но значения глубины на карте теней, похоже, не меняются.
В моем понимании передняя / задняя грань применяется перед записью значений глубины в буфер глубины.
Куда я иду не так? Есть ли какое-то особенное поведение при рендеринге в буфер глубины без целевого представления рендеринга, а только с присоединенным к выходному слиянию представлением глубины?
1 ответ
На самом деле модель имела внутренний корпус, потому что загрузчик модели (для файлов Sketchup) добавил каждую грань модели с внутренней и внешней гранями.
Спасибо за комментарий и указание!