Показать сообщение отдельно
Старый 19.09.2014, 00:17   #421
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 983
Написано 390 полезных сообщений
(для 634 пользователей)
Ответ: [TrueHorror] - разработка

Сообщение от mr.DIMAS Посмотреть сообщение
В графонии вылез какой-то трудно уловимый баг.

Кароч суть в том что сильно тормозит

IDirect3DDevice9->Present(0,0,0,0)

я погуглил с чем это может быть связано, но так и не нашел ответа. Причем тормоза Present'a прямо пропорциональны разрешению - чем больше тем больше тормоза. Я вообще не могу вкурить в чем косяк. Есть мысли?
Может видеопамять кончилась?

//=============================================

У меня тоже вопрос по шейдеру:

Допустим если я упаковываю глубину таким образом:
(Здесь input.z - это координата во view space)
output.depth = float4( ( input.z - nearZPlane ) / ( farZPlane - nearZPlane ), 1.0f, 1.0f, 1.0f );
То восстановить координаты точки во view space можно таким образом:
(texCoord - это текстурные координаты экранного квада)
const float vz = tex2D( smpDepth, texCoord ).r * ( farZPlane - nearZPlane ) + nearZPlane;
const float vx = ( texCoord.x * 2.0f - 1.0f ) * tan( scrFovX / 2.0f ) * vz;
const float vy = -( texCoord.y * 2.0f - 1.0f ) * tan( scrFovY / 2.0f ) * vz;
То есть таким образом я не использую умножение на матрицу проекции и обратную матрицу проекции при извлечении.
Все верно?
(Offline)
 
Ответить с цитированием