yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
ae1a5e408
master
1//TEST(smoke):COMPARE_HLSL_RENDER: 2//DISABLE_TEST(smoke):COMPARE_HLSL_RENDER:-mtl 3//TEST_INPUT: Texture2D(size=16, content=chessboard, format=R32Float):name g_texture 4//TEST_INPUT: Sampler :name g_sampler 5 6Texture2D < float > g_texture ; 7 8SamplerState g_sampler ; 9 10cbuffer Uniforms 11{ 12float4x4 modelViewProjection ; 13} 14 15struct AssembledVertex 16{ 17float3 position ; 18float3 color ; 19float2 uv ; 20}; 21 22// Vertex Shader 23struct VertexStageInput 24{ 25AssembledVertex assembledVertex : A ; 26}; 27 28struct VertexStageOutput 29{ 30float4 color : COLOR ; 31float4 position : SV_Position ; 32}; 33 34[ shader ( "vertex" )] 35VertexStageOutput vertexMain ( VertexStageInput input ) 36{ 37VertexStageOutput output ; 38 39output . position = mul ( modelViewProjection , float4 ( input . assembledVertex . position , 1.0 )); 40output . color = float4 ( input . assembledVertex . color , 1.0f ); 41 42return output ; 43} 44 45[ shader ( "fragment" )] 46float4 fragmentMain ( VertexStageOutput input ) : SV_Target 47{ 48return g_texture . GatherRed ( g_sampler , input . color . xy ); 49}