mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
51 lines
955 B
HLSL
51 lines
955 B
HLSL
#define EDITOR
|
|
|
|
#include "GlitchyEngine2D.hlsl"
|
|
#include "ShaderHelpers.hlsl"
|
|
|
|
Texture2D Texture : register(t0);
|
|
SamplerState Sampler : register(s0);
|
|
|
|
VS_Output VS(VS_Input input)
|
|
{
|
|
VS_Output output;
|
|
|
|
output.Position = mul(ViewProjection, mul(input.Transform, float4(input.Position, 0.0f, 1.0f)));
|
|
output.Texcoord = TransformTexcoords(input.Texcoord, input.UVTransform);
|
|
output.Color = input.Color;
|
|
|
|
// Premultiply Alpha
|
|
output.Color.rgb *= output.Color.a;
|
|
|
|
#ifdef EDITOR
|
|
output.EntityId = input.EntityId;
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
struct PS_Output
|
|
{
|
|
float4 Color : SV_Target0;
|
|
#ifdef EDITOR
|
|
uint EntityId : SV_TARGET1;
|
|
#endif
|
|
};
|
|
|
|
PS_Output PS(PS_Input input)
|
|
{
|
|
PS_Output output;
|
|
|
|
output.Color = Texture.Sample(Sampler, input.Texcoord) * input.Color;
|
|
|
|
clip(output.Color.a - 0.001f);
|
|
|
|
#ifdef EDITOR
|
|
output.EntityId = input.EntityId;
|
|
#endif
|
|
|
|
return output;
|
|
}
|
|
|
|
#pragma Effect[VS = VS; PS = PS]
|