ps.1.1
; t0:
; texture: dudv map
; texcoords: dudvmap texcoords
; t1:
; texture: reflection render target
; texcoords:
; t2:
; texture: normal map (usef for fresnel calculation)
; texcoords:
; t4: texture: normalization cube map
; texcoords: eye vect
tex t0 ; sample dudv map
texbem t1, t0 ; reflection
tex t2 ; normal map
tex t3 ; eye vector (through normalization cubemap)
#ifndef _XBOX
; dot eye-vector with per-pixel normal from t2
dp3_sat r1.rgba, t3_bx2, t2_bx2
#else
dp3 r1.rgba, t3_bx2, t2_bx2
mov r1.rgba, r1_sat
#endif
; run Fresnel approx. on it: R0 + (1-R0) (1-cos(q))^5
mul r0.a, 1-r1.a, 1-r1.a // squared
mul r0.a, r0.a, r0.a // quartic
mul r0.rgb, t1, c0 // shove color from reflection render target into r0
#ifndef _XBOX
+mul_sat r0.a, r0.a, 1-r1.a // quintic
#else
+mul r0.a, r0.a, 1-r1.a
mov r0.a, r0_sat.a
#endif
# |
Change |
User |
Description |
Committed |
|
#1
|
5817 |
Knut Wikstrom |
Added base Valve SDK code to start modding. |
|
|