Показать сообщение отдельно
Старый 26.10.2014, 20:32   #587
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: [TrueHorror] - разработка

Сообщение от mr.DIMAS Посмотреть сообщение
В аттаче скрин из игры

Теперь нужно сделать тени для поинт лайтов. я думаю сделать так: для каждой грани куба рендерим сцену с матрицей проекции с fov = 90. для выборки из кубшадоумапы используем направление от света до освещаемой точки. Все верно?

Верно , а еще можно так сгдладить


inline float rand(float3 seed, int i) 
{
    
float4 seed4 = float4(seed, i);
    
float dot_product = dot(seed4, float4(12.9898, 78.233, 45.164, 94.673));
    return 
frac(sin(dot_product) * 43758.5453);
}

#define NUM_SAMP 4
#define SPREAD 0.01

        
float vShadowSample = texCUBE(sCubeShadow, -vLightDir + (float3(rand(vWorldPos, i), rand(vWorldPos, i + 1), rand(vWorldPos, i + 2)) * SPREAD)).r;
        
fShadow += ((fLength-2.5) < vShadowSample) ? 1.0f : 0.0f; 


(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mr.DIMAS (26.10.2014)