Ignore:
Timestamp:
03/01/07 22:48:05 (18 years ago)
Author:
szirmay
Message:
 
Location:
GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPBasic
Files:
5 edited

Legend:

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

    r2179 r2181  
    4040material GTP/Basic/Depth 
    4141{ 
    42  technique 
     42 technique maintechnique 
    4343 { 
    44   pass 
     44  pass mainpass 
    4545  { 
    4646   cull_hardware clockwise 
     
    4949     param_named_auto WorldViewProj worldviewproj_matrix      
    5050   }  
    51    vertex_program_ref GTP/Basic/VDepth_PS 
     51   fragment_program_ref GTP/Basic/VDepth_PS 
    5252   {     
    5353   }    
     
    5858material GTP/Basic/DepthCCW : GTP/Basic/Depth 
    5959{ 
    60  technique 0 
     60 technique maintechnique 
    6161 { 
    62   pass 0 
     62  pass mainpass 
    6363  { 
    6464   cull_hardware anticlockwise    
     
    7979     param_named_auto WorldView     worldview_matrix      
    8080   }  
    81    vertex_program_ref GTP/Basic/CDepth_PS 
     81   fragment_program_ref GTP/Basic/CDepth_PS 
    8282   {     
    8383   }    
     
    8888material GTP/Basic/Distance 
    8989{ 
    90  technique 
     90 technique maintechnique 
    9191 { 
    92   pass 
     92  pass mainpass 
    9393  { 
    9494   cull_hardware clockwise 
     
    107107material GTP/Basic/DistanceCCW : GTP/Basic/Distance 
    108108{ 
    109  technique 0 
     109 technique maintechnique 
    110110 { 
    111   pass 0 
     111  pass mainpass 
    112112  { 
    113113   cull_hardware anticlockwise    
     
    118118material GTP/Basic/Distance_Normalized 
    119119{ 
    120  technique 
     120 technique maintechnique 
    121121 { 
    122   pass 
     122  pass mainpass 
    123123  { 
    124124   cull_hardware clockwise 
     
    138138material GTP/Basic/Distance_NormalizedCCW : GTP/Basic/Distance_Normalized 
    139139{ 
    140  technique 0 
     140 technique maintechnique 
    141141 { 
    142   pass 0 
     142  pass mainpass 
    143143  { 
    144144   cull_hardware anticlockwise    
     
    160160                        max_light_count 1 
    161161                        vertex_program_name GTP/Basic/LightVPos_VS 
    162                         fragment_program_name GTP/Basic/SM/Depth_PS 
     162                        fragment_program_name GTP/Basic/SM/Depth_VSM_PS 
    163163                        set_light_view false 
    164164                        set_light_farplane false 
     165                        world_view_proj_param_name WorldViewProj 
     166                        world_param_name World 
     167                        light_viewproj_param_name LightViewProj                  
    165168                }        
    166169     } 
  • GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPBasic/GTPBasic.program

    r2179 r2181  
    4949   source GTPBasic_VS.hlsl 
    5050   entry_point VPos 
    51    target vs_1_1 
     51   target vs_2_0 
    5252} 
    5353 
  • GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPBasic/GTPBasic_PS.hlsl

    r2179 r2181  
    2828{ 
    2929 float4 pos = IN.VPosition / IN.VPosition.w; 
    30  return float4(pos.z, pos.z * pos.z, 0, pos.z);  
     30 return float4(pos.z, pos.z * pos.z, 1, 1);      
    3131} 
    3232 
  • GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPBasic/GTPBasic_VS.hlsl

    r2179 r2181  
    145145}; 
    146146 
    147 VPos_OUT VPos(float4 position : POSITION0, 
     147VPos_OUT VPos(float4 position : POSITION, 
    148148              uniform float4x4 WorldViewProj) 
    149149{ 
     
    159159}; 
    160160 
    161 MPos_OUT MPos(float4 position : POSITION0, 
     161MPos_OUT MPos(float4 position : POSITION, 
    162162              uniform float4x4 WorldViewProj) 
    163163{ 
     
    168168} 
    169169 
    170 MPos_OUT MPos_NoTransform(float4 position : POSITION0) 
     170MPos_OUT MPos_NoTransform(float4 position : POSITION) 
    171171{ 
    172172 MPos_OUT OUT; 
     
    182182}; 
    183183 
    184 CPos_OUT CPos(float4 position : POSITION0, 
     184CPos_OUT CPos(float4 position : POSITION, 
    185185              uniform float4x4 WorldViewProj, 
    186186              uniform float4x4 WorldView) 
     
    222222}; 
    223223 
    224 LightVPos_OUT LightVPos(float4 position : POSITION0, 
     224LightVPos_OUT LightVPos(float4 position : POSITION, 
    225225              uniform float4x4 WorldViewProj, 
    226226              uniform float4x4 LightViewProj, 
     
    242242}; 
    243243 
    244 LightCPos_OUT LightCPos(float4 position : POSITION0, 
     244LightCPos_OUT LightCPos(float4 position : POSITION, 
    245245              uniform float4x4 WorldViewProj, 
    246246              uniform float4x4 World, 
  • GTP/trunk/App/Demos/Illum/Ogre/Media/materials/GTPBasic/GTPShadowMap_PS.hlsl

    r2179 r2181  
    1414#define DEPTH_BIAS      0.001 
    1515#define DEPTH_BIAS_VSM  0.001 
    16 #define DEPTH_EPSILON   0.001 
     16#define DEPTH_EPSILON   0.00005 
    1717#define DIST_BIAS       0.1 
    1818#define DIST_BIAS_VSM   0.001 
     
    2424                      uniform sampler2D shadowMap) : COLOR 
    2525{ 
    26   float4 light = shadowColor;    
    27   if( IN.LightVPos.z > 0.0) 
     26  float4 light = shadowColor;      
     27         
     28  if(IN.LightVPos.z > 0.0) 
    2829  { 
    29     float4 pos = (IN.LightVPos / IN.LightVPos.w); 
    30         pos.xy = (pos.xy + 1.0) / 2.0; 
    31     pos.y = 1.0 - pos.y; 
    32     float storedDepth = tex2D(shadowMap, pos.xy).r; 
    33         pos.z -= DIST_BIAS; 
    34         light = max(pos.z <= storedDepth.r, shadowColor);            
    35   } 
     30        float4 pos = (IN.LightVPos / IN.LightVPos.w); 
     31                 
     32        pos.xy = (pos.xy + 1.0) / 2.0; 
     33        pos.y = 1.0 - pos.y; 
     34        float4 storedDepth = tex2D(shadowMap, pos.xy); 
     35        light = max(storedDepth.r + DEPTH_BIAS >= pos.z, shadowColor);                   
     36  }              
    3637  return light;  
    3738} 
     
    4546   
    4647  if( pos.z > 0.0) 
    47   {      
    48     { 
     48  {          
    4949        float depth = pos.z; 
    5050        pos.xy = (pos.xy + 1.0) / 2.0; 
     
    5858        float v2 = min(max(M2 - M1 * M1, 0.0) +  DEPTH_EPSILON, 1.0); 
    5959        float m_d = M1 - depth; 
    60         float pmax = v2 / (v2 + m_d * m_d); 
     60    float pmax = v2 / (v2 + m_d * m_d); 
    6161                                                 
    62         // Adjust the light color based on the shadow attenuation 
    63         light = max(lit_factor, pmax); 
    64          
    65      } 
     62    // Adjust the light color based on the shadow attenuation 
     63    light = max(lit_factor, pmax);     
    6664  } 
    6765  else 
     
    7371 
    7472float4 shadowMapDist(LightCPos_OUT IN, 
    75                                         //uniform float lightFarPlane, 
     73                                        uniform float lightFarPlane, 
    7674                                         uniform sampler2D shadowMap) : COLOR 
    7775{ 
    78   float4 light = shadowColor; 
    79    
     76  float4 light = shadowColor;   
    8077  if( IN.LightVPos.z > 0.0) 
    8178  {      
     
    8582    //if(d <= 1.0) 
    8683    //{ 
    87                 float dist = length(IN.LightCPos.xyz) ; 
     84                float dist = length(IN.LightCPos.xyz) / lightFarPlane; 
    8885                pos.xy = (pos.xy + 1.0) / 2.0; 
    8986                pos.y = 1.0 - pos.y; 
Note: See TracChangeset for help on using the changeset viewer.