blob: cfbf48ae46779769349c383a228b6a8e2ff86cd1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
struct VSInput {
[[vk::location(0)]] float3 inPosition : POSITION;
[[vk::location(1)]] float2 uv : TEXCOORD0;
};
struct VSOutput {
float4 pos : SV_Position;
float3 color;
float2 uv;
};
struct PushConstants {
float4x4 ubo;
};
[[vk::binding(0, 0)]] ConstantBuffer<float4x4> ubos[3];
[[vk::binding(1, 0)]] Sampler2D test[3];
[[vk::push_constant]]
PushConstants pc;
[shader("vertex")]
VSOutput vertMain(VSInput input) {
VSOutput output;
output.pos = mul(pc.ubo, float4(input.inPosition, 1.0));
output.color = input.inPosition;
output.uv = input.uv;
return output;
}
[shader("fragment")]
float4 fragMain(VSOutput vertIn) : SV_TARGET {
float4 col = test[0].Sample(vertIn.uv);
return float4(col.rgb, 1.0);
}
|