home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 January
/
GSSH0104TT.iso
/
Extras
/
Tron20
/
tron_tools.exe
/
TRON_Tools
/
Tools
/
RenderStyles
/
vs_toon_3light.vsh
< prev
next >
Wrap
Text File
|
2003-03-10
|
2KB
|
46 lines
; Vertex Data:
; v0 - Position
; v1 - Normal
; v2 - uv1
;
; Constant Data:
; c0 - Constant Vector (0.0, 0.5, 1.0, 2.0)
; c1:c4 - Projection Matrix
; c5:c8 - ModelViewProj Matrix
; c5 - Light direction
; c6 - Light color
vs.1.1
// Transform position (all the way)...
LT_MACRO_RIGIDTRANS4<oPos,v0,c5> // Rigid Transform...
LT_MACRO_SKINBLENDTRANS4<r0,v0,v3,v4,r1,c18> // Skin Blended Transform...
LT_MACRO_SKINTRANS4<oPos,r0,c1> // Skin Projection...
LT_MACRO_SKINBLENDTRANS3<r6,v1,v3,v4,r1,c18> // Skin Blended Transform (Normal)...
LT_MACRO_IFSKIN<dp3 r6.w, r6, r6> // Normalize the normal...
LT_MACRO_IFSKIN<rsq r6.w, r6.w>
LT_MACRO_IFSKIN<mul r6, r6, r6.w>
// Do the Lighting...
LT_MACRO_IFRIGID<add r5, -v0, c9> // Rigid: Light Vector (Model Space)...
LT_MACRO_IFSKIN<add r5, -r0, c12> // Skin: Light Vector (Camera Space)...
LT_MACRO_LIGHT_ATT<r3.x,r5,v1,r6,r1,r2,c15> // Material Attenuation...
max r3.x, r3.x, c0.x // We want one sided lighting...
LT_MACRO_IFRIGID<add r5, -v0, c10> // Rigid: Light Vector (Model Space)...
LT_MACRO_IFSKIN<add r5, -r0, c13> // Skin: Light Vector (Camera Space)...
LT_MACRO_LIGHT_ATT<r3.y,r5,v1,r6,r1,r2,c16>
max r3.y, r3.y, c0.x
LT_MACRO_IFRIGID<add r5, -v0, c11> // Rigid: Light Vector (Model Space)...
LT_MACRO_IFSKIN<add r5, -r0, c14> // Skin: Light Vector (Camera Space)...
LT_MACRO_LIGHT_ATT<r3.z,r5,v1,r6,r1,r2,c17>
max r3.z, r3.z, c0.x
// Output UVs...
dp3 oT0.x, r3.xyz, c0.zzz // Add in all three lights...
mov oT1, v2
// Vert Color...
mov oD0, c0.zzzz