#!version 2.2.6 surface #!parameters: uniform float Ka = 1 uniform float Kd = .5 uniform float Ks = .5 uniform float roughness = .1 uniform color specularcolor = 1 uniform string texturename = "" #!variables: varying vector Nf varying float temporary_0 uniform float temporary_1 varying vector temporary_2 varying vector temporary_3 varying vector temporary_4 varying vector temporary_5 uniform vector temporary_6 varying vector temporary_7 varying vector temporary_8 varying vector C varying vector Nn varying vector Ln uniform float nondif varying float temporary_9 uniform float temporary_10 varying vector temporary_11 varying vector temporary_12 varying float temporary_13 uniform vector temporary_14 varying vector C_1 varying float nonspec varying vector Nn_1 varying vector Ln_1 varying float temporary_15 varying float temporary_16 varying vector R varying vector temporary_17 varying float temporary_18 varying float temporary_19 #!Init: return #!Code: movevv Ci Cs sneql temporary_1 texturename "" vufloat temporary_0 temporary_1 if temporary_0 #!Label15 texture ("c=SFff") temporary_2 texturename 0 s t mulvv Ci Ci temporary_2 #!Label15: endif normalize ("v=v") temporary_2 N faceforward ("v=vv") Nf temporary_2 I vfromf temporary_6 Ka vuvector temporary_5 temporary_6 ambient ("c=") temporary_7 mulvv temporary_4 temporary_5 temporary_7 vfromf temporary_6 Kd vuvector temporary_7 temporary_6 vfromf temporary_6 0 vuvector C temporary_6 normalize ("v=v") Nn Nf divff temporary_1 3.141592654 2 vufloat temporary_0 temporary_1 illuminance P Nn temporary_0 #!Label17 #!Label18 #!Label17: lightsource ("f=SF") temporary_10 "__nondiffuse" nondif feql temporary_1 temporary_10 0 vufloat temporary_9 temporary_1 if temporary_9 #!Label19 moveff nondif 0 #!Label19: endif feql temporary_1 nondif 0 vufloat temporary_9 temporary_1 if temporary_9 #!Label21 normalize ("v=v") Ln L dot temporary_13 Ln Nn vfromf temporary_12 temporary_13 mulvv temporary_11 Cl temporary_12 addvv C C temporary_11 #!Label21: endif #!Label18: endilluminance movevv temporary_8 C mulvv temporary_5 temporary_7 temporary_8 addvv temporary_3 temporary_4 temporary_5 mulvv temporary_2 Ci temporary_3 vfromf temporary_14 Ks mulvv temporary_6 specularcolor temporary_14 vuvector temporary_4 temporary_6 normalize ("v=v") temporary_8 I negv temporary_7 temporary_8 vufloat temporary_0 roughness vfromf temporary_6 0 vuvector C_1 temporary_6 normalize ("v=v") Nn_1 Nf divff temporary_1 3.141592654 2 vufloat temporary_9 temporary_1 illuminance P Nn_1 temporary_9 #!Label23 #!Label24 #!Label23: lightsource ("f=SF") temporary_15 "__nonspecular" nonspec vufloat temporary_16 0 feql temporary_13 temporary_15 temporary_16 if temporary_13 #!Label25 vufloat nonspec 0 #!Label25: endif vufloat temporary_15 0 feql temporary_13 nonspec temporary_15 if temporary_13 #!Label27 vufloat temporary_16 2 dot temporary_18 Nf L mulff temporary_15 temporary_16 temporary_18 vfromf temporary_17 temporary_15 mulvv temporary_12 temporary_17 Nf subvv temporary_11 temporary_12 L normalize ("v=v") temporary_8 temporary_11 negv R temporary_8 negv temporary_17 temporary_7 normalize ("v=v") temporary_12 temporary_17 dot temporary_18 R temporary_12 vufloat temporary_19 0.0 max ("f=ff") temporary_16 temporary_18 temporary_19 vufloat temporary_18 30 pow ("f=ff") temporary_15 temporary_16 temporary_18 vfromf temporary_11 temporary_15 mulvv temporary_8 Cl temporary_11 addvv C_1 C_1 temporary_8 #!Label27: endif #!Label24: endilluminance movevv temporary_5 C_1 mulvv temporary_3 temporary_4 temporary_5 addvv Ci temporary_2 temporary_3 movevv Oi Os mulvv Ci Ci Oi return