0001: ; ps.psh
0002: 
0003: ps.1.1
0004: 
0005: def c0, 1.00f, 1.00f, 1.00f, 1.0f   ; フレネル スケール
0006: def c1, 0.30f, 0.30f, 0.30f, 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: