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