struct VertexOut { float4 VertexPosition :POSITION; float2 TexCoord :TEXCOORD; }; /* Vertex program for cloud rendering */ VertexOut VertexProgram( float4 Position :POSITION, float2 Texcoord: TEXCOORD, uniform float4x4 ModelViewProj :state.matrix.mvp ) { VertexOut Out; Out.VertexPosition=mul(ModelViewProj, Position); Out.TexCoord=Texcoord; return Out; } /* Fragment program for cloud rendering */ float4 FragmentProgram( VertexOut In, uniform samplerRECT Texture, uniform float invmaxvalue):COLOR { float4 TexCol=texRECT(Texture,In.TexCoord); float4 Color=TexCol*invmaxvalue; return Color; }