yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Simon Kallweitupdate slang-rhi (#6587)ae1a5e408

master
1014 B49 linesraw
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{
12	float4x4 modelViewProjection;
13}
14
15struct AssembledVertex
16{
17	float3	position;
18	float3	color;
19	float2	uv;
20};
21
22// Vertex  Shader
23struct VertexStageInput
24{
25	AssembledVertex assembledVertex	: A;
26};
27
28struct VertexStageOutput
29{
30	float4          color           : COLOR; 
31	float4			position		: SV_Position;
32};
33
34[shader("vertex")]
35VertexStageOutput vertexMain(VertexStageInput input) 
36{
37    VertexStageOutput output;
38    
39    output.position = mul(modelViewProjection, float4(input.assembledVertex.position, 1.0));
40    output.color = float4(input.assembledVertex.color, 1.0f);
41    
42    return output;
43}
44
45[shader("fragment")]
46float4 fragmentMain(VertexStageOutput input) : SV_Target
47{
48    return g_texture.GatherRed(g_sampler, input.color.xy);
49}