All pastes #127055 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-08-12 00:12 UTC
rendered paste body
float4x4 mInvWorld;   
float4x4 mWorldViewProj ; //our world view projection matrix
float4x4 mWorldViewIt ; //our inverse transpose matrix
float4x4 mWorld ; //our world matrix
float4x4 mView ; //our view matrix
float4x4 mViewInv; //our view inverse matrix
float3 mLightPos; //our light position in object space
float3 mCamPos; //our cam position in object space
float4x4 mProj;
float3 eyeIn;
float fTime;


struct VS_INPUT 
{
   float4 position    : POSITION; 
   float4 tex0      : TEXCOORD0; 
   float4 tex1      : TEXCOORD1;
   
   
};

struct VS_OUTPUT 
{
   float4 position    : POSITION;
   float4 tex0      : TEXCOORD0; 
   float4 tex1      : TEXCOORD1;
   float4 lightIn   : TEXCOORD2;
   
};

VS_OUTPUT vs_main( VS_INPUT Input )
{
   VS_OUTPUT Output;

   Output.position = mul( mWorldViewProj, Input.Position );
   
    Output.tex0.xy = (worldviewproj_pos.xy + worldviewproj_pos.w)*0.5;   

    Output.tex0.zw =  float2(1, worldviewproj_pos.w);

   

    Output.lightIn = worldviewproj_pos - (float4)mLightPos;
   return( Output );
   
}



texture texture0; //our texture

texture texture1; //our normal map

float4 ps_main(
   float4 tex0      : TEXCOORD0, 
   float4 tex1      : TEXCOORD1,
   float4 lightIn   : TEXCOORD2) : COLOR0
{   


float2 final = tex0.xy / tex0.w;

        float t = fTime / 1000.0;

    float3 sample = tex2D(texSampler1,(tex1 + t)/2.0).xyz ;

    float3 sample2 = tex2D(texSampler1,(tex1 + t)/-1.0).xyz ;

       

        float3 finalsample = (sample + sample2) / 2.0;



    finalsample *= float3(0.015,0.015,1.0);

       

       

       

        normalize(finalsample);

       

    float4 color = tex2D( texSampler0, final.xy + finalsample.xy);

   

  //  normalize(lightIn);

   float specular = dot(lightIn,finalsample);

    color.w = 0.5 + specular;

        
   return( color );
   
}