polyvox/materials/programs/ColourMap2DFragmentProgram.cg
2007-08-17 18:59:06 +00:00

23 lines
843 B
Plaintext

struct v2f
{
float4 Position : POSITION; //in projection space
float4 Color : COLOR;
float4 TexCoordsXY : TEXCOORD0;
float4 TexCoordsYZ : TEXCOORD1;
float4 TexCoordsXZ : TEXCOORD2;
float4 Normal : TEXCOORD3;
float Alpha : TEXCOORD4;
};
float4 main(v2f IN, uniform sampler2D colourMap : TEXUNIT0) : COLOR
{
float3 colourMapValueXY = tex2D(colourMap, IN.TexCoordsXY.xy).rgb * abs(IN.Normal.z);
float3 colourMapValueYZ = tex2D(colourMap, IN.TexCoordsYZ.xy).rgb * abs(IN.Normal.x);
float3 colourMapValueXZ = tex2D(colourMap, IN.TexCoordsXZ.xy).rgb * abs(IN.Normal.y);
float3 colourMapValue = colourMapValueXY + colourMapValueYZ + colourMapValueXZ;
//colourMapValue /= 3.0;
return float4(colourMapValue*IN.Color.rgb,pow(IN.Alpha,0.75));
}