- Timestamp:
- 06/05/07 01:57:13 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPBasic/GTPBasicShading.hlsl
r2266 r2404 27 27 float cosb = max(dot(IN.wNormal.xyz, diff), 0); 28 28 29 color.rgb = pow(cosa, 9) * cosb / dist2 * lightPower ;29 color.rgb = pow(cosa, 9) * cosb / dist2 * lightPower * lightColor; 30 30 //color.rgb *= lightPower; 31 31 //return 0; 32 32 return color * tex2D(colorTex, IN.texCoord); 33 33 } 34 35 36 float4 TexturedShadedTwoLights_PS(ShadedTex_OUT IN, 37 uniform float3 lightPos1, 38 uniform float3 lightDir1, 39 uniform float3 lightColor1, 40 uniform float lightPower1, 41 uniform float3 lightPos2, 42 uniform float3 lightDir2, 43 uniform float3 lightColor2, 44 uniform float lightPower2, 45 uniform sampler2D colorTex : register(s0)):COLOR0 46 { 47 float4 color = 0; 48 IN.wNormal.xyz = normalize(IN.wNormal.xyz); 49 50 { 51 float3 lightDir = normalize(lightDir1); 52 53 float3 diff = lightPos1 - IN.wPos; 54 float dist2 = dot(diff, diff); 55 if(dist2 < SAMPLECUTDIST2) 56 dist2 = SAMPLECUTDIST2; 57 diff = normalize(diff); 58 float cosa = max(dot(lightDir1, -diff), 0); 59 float cosb = max(dot(IN.wNormal.xyz, diff), 0); 60 61 //color.rgb += pow(cosa, 9) * cosb / dist2 * lightPower1 * lightColor1; 62 color.rgb += cosb / dist2 * lightPower1 * lightColor1; 63 64 } 65 66 { 67 float3 lightDir = normalize(lightDir2); 68 69 float3 diff = lightPos2 - IN.wPos; 70 float dist2 = dot(diff, diff); 71 if(dist2 < SAMPLECUTDIST2) 72 dist2 = SAMPLECUTDIST2; 73 diff = normalize(diff); 74 float cosa = max(dot(lightDir2, -diff), 0); 75 float cosb = max(dot(IN.wNormal.xyz, diff), 0); 76 77 color.rgb += pow(cosa, 9) * cosb / dist2 * lightPower2 * lightColor2; 78 } 79 80 //color.rgb *= lightPower; 81 //return 0; 82 return color * tex2D(colorTex, IN.texCoord); 83 }
Note: See TracChangeset
for help on using the changeset viewer.