openmw/files/materials/sun.shader

40 lines
934 B
Text
Raw Normal View History

2012-07-06 10:31:48 +02:00
#include "core.h"
#define MRT @shPropertyBool(mrt_output)
#ifdef SH_VERTEX_SHADER
SH_BEGIN_PROGRAM
shUniform(float4x4 wvp) @shAutoConstant(wvp, worldviewproj_matrix)
shInput(float2, uv0)
shOutput(float2, UV)
SH_START_PROGRAM
{
shOutputPosition = shMatrixMult(wvp, shInputPosition);
UV = uv0;
}
#else
SH_BEGIN_PROGRAM
shSampler2D(diffuseMap)
shInput(float2, UV)
#if MRT
shDeclareMrtOutput(1)
#endif
shUniform(float4 materialDiffuse) @shAutoConstant(materialDiffuse, surface_diffuse_colour)
shUniform(float4 materialEmissive) @shAutoConstant(materialEmissive, surface_emissive_colour)
SH_START_PROGRAM
{
2012-07-11 02:31:03 +02:00
shOutputColour(0) = float4(1,1,1,materialDiffuse.a) * float4(materialEmissive.xyz, 1) * shSample(diffuseMap, UV);
2012-07-06 10:31:48 +02:00
#if MRT
2012-07-11 02:31:03 +02:00
shOutputColour(1) = float4(1,1,1,1);
2012-07-06 10:31:48 +02:00
#endif
}
#endif