struct VertexOut { float4 VertexPosition :POSITION; float Z :TEXCOORD; }; /* Vertex program for cloud rendering */ VertexOut VertexProgram( float4 Position :POSITION, uniform float4x4 ModelViewProj :state.matrix.mvp, uniform float4x4 ModelViewMatrix:state.matrix.modelview ) { VertexOut Out; float4 p=mul(ModelViewProj,Position); Out.VertexPosition=p; float4 CamPos=mul(ModelViewMatrix,Position); Out.Z=CamPos.z; return Out; } /* Fragment program for cloud rendering */ float4 FragmentProgram( VertexOut In, uniform samplerRECT Texture ):COLOR { //float4 Color=float4(1,0,0,1); float4 Color=float4(0,0,0,1); Color=float4(In.Z,In.Z,In.Z,1); return Color; }