forked from aya/aya
Initial commit
This commit is contained in:
53
client/common/shaders/source/sky.hlsl
Normal file
53
client/common/shaders/source/sky.hlsl
Normal file
@@ -0,0 +1,53 @@
|
||||
#include "common.h"
|
||||
|
||||
struct Appdata
|
||||
{
|
||||
float4 Position : POSITION;
|
||||
float2 Uv : TEXCOORD0;
|
||||
float4 Color : COLOR0;
|
||||
};
|
||||
|
||||
struct VertexOutput
|
||||
{
|
||||
float4 HPosition : POSITION;
|
||||
float PSize : PSIZE;
|
||||
|
||||
float2 Uv : TEXCOORD0;
|
||||
float4 Color : COLOR0;
|
||||
};
|
||||
|
||||
WORLD_MATRIX(WorldMatrix);
|
||||
|
||||
uniform float4 Color;
|
||||
uniform float4 Color2;
|
||||
|
||||
VertexOutput SkyVS(Appdata IN)
|
||||
{
|
||||
VertexOutput OUT = (VertexOutput)0;
|
||||
|
||||
float4 wpos = mul(WorldMatrix, IN.Position);
|
||||
|
||||
OUT.HPosition = mul(G(ViewProjection), wpos);
|
||||
|
||||
#ifndef GLSLES
|
||||
// snap to far plane to prevent scene-sky intersections
|
||||
// small offset is needed to prevent 0/0 division in case w=0, which causes rasterization issues
|
||||
// some mobile chips (hello, Vivante!) don't like it
|
||||
OUT.HPosition.z = OUT.HPosition.w - 1.f / 16;
|
||||
#endif
|
||||
|
||||
OUT.PSize = 2.0; // star size
|
||||
|
||||
OUT.Uv = IN.Uv;
|
||||
OUT.Color = IN.Color * lerp(Color2,Color,wpos.y/1700);
|
||||
//OUT.Color = IN.Color * Color;
|
||||
|
||||
return OUT;
|
||||
}
|
||||
|
||||
TEX_DECLARE2D(DiffuseMap, 0);
|
||||
|
||||
float4 SkyPS(VertexOutput IN): COLOR0
|
||||
{
|
||||
return tex2D(DiffuseMap, IN.Uv) * IN.Color;
|
||||
}
|
||||
Reference in New Issue
Block a user