Ignore:
Timestamp:
06/05/07 01:57:13 (17 years ago)
Author:
szirmay
Message:
 
Location:
GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPBasic
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPBasic/GTPBasic.program

    r2337 r2404  
    216216   target ps_2_0 
    217217} 
     218 
     219fragment_program GTP/Basic/Shaded/TexturedTwoLights_PS hlsl 
     220{ 
     221   source GTPBasicShading.hlsl 
     222   entry_point TexturedShadedTwoLights_PS 
     223   target ps_2_0 
     224} 
    218225    
  • GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPBasic/GTPBasicShading.hlsl

    r2266 r2404  
    2727        float cosb = max(dot(IN.wNormal.xyz, diff), 0); 
    2828         
    29         color.rgb = pow(cosa, 9) * cosb / dist2 * lightPower; 
     29        color.rgb = pow(cosa, 9) * cosb / dist2 * lightPower * lightColor; 
    3030        //color.rgb *= lightPower; 
    3131        //return 0; 
    3232        return color * tex2D(colorTex, IN.texCoord); 
    3333} 
     34 
     35 
     36float4 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} 
  • GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPBasic/GTPShadowMap_PS.hlsl

    r2337 r2404  
    1515#define DEPTH_BIAS_VSM  0.001 
    1616#define DEPTH_EPSILON   0.05 
    17 #define DIST_BIAS       0.0005 
     17#define DIST_BIAS       0.005 
    1818#define DIST_BIAS_VSM   0.0005 
    1919#define DIST_EPSILON    0.001 
     
    7676                                         uniform sampler2D shadowMap) : COLOR 
    7777{ 
    78   float4 light = shadowColor;   
     78  float4 light = 0;//shadowColor;   
    7979  if( IN.LightVPos.z > 0.0) 
    8080  {      
    8181    float4 pos = (IN.LightVPos / IN.LightVPos.w); 
    8282        float d = length(pos.xy); 
    83     light = saturate((1.0 - d)/0.05);            
     83    //light = saturate((1.0 - d)/0.05);          
    8484    if(d <= 1.0) 
    8585    { 
     
    9090                light = max(dist < storedDist + DIST_BIAS, shadowColor);     
    9191                light = dist < storedDist + DIST_BIAS; 
     92                //if(dist < storedDist + DIST_BIAS) 
     93                //light = 1; 
    9294    } 
    9395  } 
Note: See TracChangeset for help on using the changeset viewer.