Files
LEngine_deprecated/LEngine/shaders/red_shader.fx
T
2025-05-13 02:50:08 +03:00

47 lines
889 B
HLSL

struct VS_INPUT
{
float4 vPosition : POSITION;
float3 normal : NORMAL;
float2 uv0 : UV0;
float2 uv1 : UV1;
};
struct VS_OUTPUT {
float4 vPosition : SV_POSITION;
float3 normal : TEXCOORD0;
float2 uv0 : TEXCOORD1;
float2 uv1 : TEXCOORD2;
};
cbuffer TestBuffer : register(b3) {
float4x4 mWorld;
float4x4 mView;
float4x4 mProjection;
}
Texture2D tex : register(t0);
Texture2D tex2 : register(t1);
SamplerState MeshTextureSampler;
VS_OUTPUT main_vs(VS_INPUT v) {
VS_OUTPUT o;
float4x4 wvp = mul(mul(mProjection, mView), mWorld);
o.vPosition = mul(wvp, float4(v.vPosition.xyz, 1));
o.normal = mul((float3x3)mWorld, v.normal);
o.uv0 = v.uv0;
o.uv1 = v.uv1;
return o;
}
float4 main_ps(VS_OUTPUT input) : SV_Target
{
float3 sun = normalize(float3(-1,1,-1));
float lit = dot(sun, input.normal);
float3 diffuse = float3(1, 0, 0);
return float4(diffuse * lit, 1);
}