Я пытаюсь нарисовать карту глубины сцены.
Теперь я создал файл HLSL, подобный тому, который был в: http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series3/Shadow_map.php
И все прошло просто отлично. Тем не мение! Я хочу узнать точное значение каждого пикселя, поэтому вместо рисования на обычной цели рендеринга я создал новую цель рендеринга, которая представляет собой Texture2D, как в: http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series3/Render_to_texture.php
а потом я нарисовал его с помощью спрайтбэтча.
Тогда! когда я отображаю изображения, первое, то есть одно изображение, которое выводится непосредственно на экран, дает такой вывод:
и тот, который рисует текстуру, затем на экран, используя спрайт, дает следующее:
Обратите внимание, как во втором снимке правая рука тела, которая явно находится позади тела, нарисована так, как будто тело не существует в перекрывающейся области.
Я думаю, это проблема упорядочения, так как вершины спереди рисуются сначала к текстуре, затем более удаленные перезаписывают более близкие, что приводит к наблюдаемому изображению.
Буду признателен за любой вклад.