ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libgender/fsh.cg
(Generate patch)

Comparing libgender/fsh.cg (file contents):
Revision 1.12 by root, Wed Oct 6 00:22:42 2004 UTC vs.
Revision 1.21 by root, Mon Oct 18 14:31:36 2004 UTC

3 float4 TexCoord : TEXCOORD0; 3 float4 TexCoord : TEXCOORD0;
4 float3 LightVec : TEXCOORD1; 4 float3 LightVec : TEXCOORD1;
5 float3 EyeVec : TEXCOORD2; 5 float3 EyeVec : TEXCOORD2;
6 float3 WorldNormal : TEXCOORD3; 6 float3 WorldNormal : TEXCOORD3;
7 float3 WorldView : TEXCOORD4; 7 float3 WorldView : TEXCOORD4;
8 float3 test1 : TEXCOORD5;
9 float3 test2 : TEXCOORD6;
8}; 10};
9 11
10struct pixelOut { 12struct pixelOut {
11 float4 col : COLOR; 13 float4 col : COLOR;
12}; 14};
13 15
14pixelOut main(vertexOut IN) 16pixelOut main(vertexOut IN, uniform sampler2D Texture)
15{ 17{
16 pixelOut OUT; 18 pixelOut OUT;
17 19
18 half SpecExpon = 200; 20 half SpecExpon = 200;
19 float4 LightColor = { 1, 1, 1, 1 }; 21 float4 LightColor = { 1, 1, 1, 1 };
22 float4 diffuse_color = tex2D (Texture, IN.TexCoord.xy);
20 23
21 half3 Ln = normalize (IN.LightVec); 24 half3 Ln = normalize (IN.LightVec);
22 half3 Nn = normalize (IN.WorldNormal); 25 half3 Nn = normalize (IN.WorldNormal);
23 half3 Vn = normalize (IN.WorldView); 26 half3 Vn = normalize (IN.WorldView);
24 27
25 half3 Hn = normalize (Ln + Vn); 28 half3 Hn = normalize (Ln + Vn);
26 half ldn = dot (Ln, Nn); 29 half ldn = dot (Ln, Nn);
27 half hdn = dot (Hn, Nn); 30 half hdn = dot (Hn, Nn);
28 31
29 // specialized "lit" function computes weights for
30 // diffuse and specular parts:
31 half4 litV = lit (ldn, hdn, SpecExpon); 32 half4 litV = lit (ldn, hdn, SpecExpon);
32 half4 diffContrib = glstate.material.diffuse * (litV.y * LightColor + glstate.lightmodel.ambient); 33 half4 diffContrib = diffuse_color * ((litV.y + 0.3) * LightColor + glstate.lightmodel.ambient);
33 half4 specContrib = litV.y * litV.z * LightColor; 34 half4 specContrib = litV.y * litV.z * LightColor;
34 half4 result = diffContrib + specContrib; 35 half4 result = diffContrib + specContrib;
36 //half4 result = diffuse_color * litV.y + LightColor * litV.z;
35 37
36 OUT.col = result; 38 OUT.col = result;
37 return OUT; 39 return OUT;
38} 40}
39 41

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines