struct a2v { float4 Position : POSITION; //in object space float3 Normal : NORMAL; }; struct v2f { float4 Position : POSITION; //in projection space float4 Color : COLOR; float4 TexCoords : TEXCOORD0; }; float4 main(v2f IN, uniform sampler3D colourMap : TEXUNIT0) : COLOR { float3 colourMapValue = tex3D(colourMap, IN.TexCoords.xyz).rgb; return float4(colourMapValue*IN.Color.rgb, 1.0); } /*float4 main(v2f IN, uniform sampler3D detailTexture : TEXUNIT0) : COLOR { float3 detailColor = tex3D(detailTexture, IN.TexCoords.xyz).rgb; return float4(detailColor * IN.Color.rgb, 1.0); } */