0001: ; ps.psh
0002: 
0003: ps.1.1
0004: 
0005: ;def c0, 0.80f, 0.80f, 0.80f, 1.0f  ; フレネル スケール
0006: ;def c1, 0.15f, 0.15f, 0.15f, 1.0f  ; フレネル バイアス
0007: ;
0008: ;tex t0 ; 環境マップ
0009: ;tex t1 ; normal
0010: ;tex t2 ; eye
0011: ;
0012: ;dp3_sat r0, t1_bx2, t2_bx2
0013: ;mul r0, 1-r0, 1-r0
0014: ;mul r0, r0, r0     ; (1-N・E)^4
0015: ;mul r0, r0, c0
0016: ;add r0, r0, c1     ; r = s*(1-N・E)^4 + b
0017: ;
0018: ;lrp r0, r0, t0, v0 ; 線形補間で環境マップを張り詰ける
0019: 
0020: def c0, 1.00f, 1.00f, 1.00f, 1.0f   ; 拡散反射係数
0021: def c1, 0.04f, 0.04f, 0.04f, 1.0f   ; 環境反射係数
0022: 
0023: tex t0  ; diffuse マップ
0024: 
0025: mul t0, t0, c0
0026: add t0, t0, c1
0027: mul r0, t0, v0
0028: