… | |
… | |
16 | { |
16 | { |
17 | vertexOut OUT; |
17 | vertexOut OUT; |
18 | |
18 | |
19 | float4 LightPos = { 0, 2, 5, 1 }; |
19 | float4 LightPos = { 0, 2, 5, 1 }; |
20 | |
20 | |
21 | OUT.WorldNormal = normalize (IN.Normal.xyz); |
21 | float3 wpos = mul (glstate.matrix.modelview[0], IN.Position).xyz; |
|
|
22 | |
|
|
23 | OUT.WorldNormal = normalize (mul (glstate.matrix.invtrans.modelview[0], IN.Normal).xyz); |
22 | OUT.EyeVec = normalize (IN.Position).xyz; |
24 | OUT.EyeVec = -normalize (wpos); |
23 | OUT.LightVec = normalize (LightPos - IN.Position).xyz; |
25 | OUT.LightVec = normalize (mul (glstate.matrix.modelview[0], LightPos).xyz - wpos); |
24 | OUT.HPosition = mul (glstate.matrix.mvp, IN.Position); |
26 | OUT.HPosition = mul (glstate.matrix.mvp, IN.Position); |
25 | OUT.TexCoord = IN.UV; |
27 | OUT.TexCoord = IN.UV; |
26 | |
28 | |
27 | return OUT; |
29 | return OUT; |
28 | } |
30 | } |