Тема: Странное.
Показать сообщение отдельно
Старый 23.12.2011, 22:08   #370
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Странное.

Чтобы получить из значения буфера глубины обычное расстояние от камеры до пикселя:



float4x4 matProj 	: MATRIX_PROJ;
...
float Depth = tex2D( DepthSample, texCoords);
1. Избавляюсь от нормализации.
float nedoZed=Depth*zfar+znear;
2. Нахожу 1/z
float pochtiZed=(nedoZed+matProj[2][2])/matProj[2][3];
3. Глубина текущего пикселя:
float finalZed=1/pochtiZed;
...
Правильно?

zfar и znear можно получить семантикой? Или таки надо передавать из хорса руками?
(Offline)
 
Ответить с цитированием