You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
721 B
27 lines
721 B
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) |
|
|
|
; dot eye-vector with per-pixel normal from t2 |
|
dp3_sat r1.rgba, t3_bx2, t2_bx2 |
|
|
|
; 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 |
|
+mul_sat r0.a, r0.a, 1-r1.a // quintic |