При отбраковке лицевой стороны DirectX 11 не отбрасываются лицевые грани на карте теней - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь реализовать теневое отображение (CSM) в DirectX 11, и мне удалось получить работающий прототип.Прямо сейчас я нарисовал геометрию, используя отбор задних граней в проходе карты теней, но теперь я хочу переключиться на отбор лицевых граней для дальнейшего уменьшения прыщей в тени.

Переключение на отбор лицевой стороны ничего не меняет.После глубокого анализа с использованием Visual Studio Graphics Debugger я застрял.

Графический отладчик говорит, что состояние растеризации установлено правильно.

enter image description here

Но значения глубины на карте теней, похоже, не меняются.

enter image description here

В моем понимании выборка передней / задней поверхности применяется до того, как значения глубины записываются в буфер глубины.

Где яиду не так?Есть ли какое-то особое поведение при рендеринге в буфер глубины без целевого представления рендеринга, а только с представлением глубины, присоединенным к выходному слиянию?

1 Ответ

0 голосов
/ 20 октября 2018

Фактически модель имела внутренний корпус, потому что загрузчик модели (для файлов Sketchup) добавил каждую грань модели с внутренней и внешней гранями.

Спасибо за комментарий и за указание!

...