-
-
Notifications
You must be signed in to change notification settings - Fork 62
Expand file tree
/
Copy pathHelloTriangle.hlsl
More file actions
53 lines (41 loc) · 1.52 KB
/
Copy pathHelloTriangle.hlsl
File metadata and controls
53 lines (41 loc) · 1.52 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/******************************************************************************
Copyright 2019-2020 Evgeny Gorodetskiy
Licensed under the Apache License, Version 2.0 (the "License"),
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*******************************************************************************
FILE: MethaneKit/Apps/Tutorials/01-HelloTriangle/Shaders/Triangle.hlsl
Shaders for colored triangle rendering
******************************************************************************/
struct PSInput
{
float4 position : SV_POSITION;
float4 color : COLOR;
};
PSInput TriangleVS(uint vertex_id : SV_VertexID)
{
const float4 positions[3] = {
{ 0.0F, 0.5F, 0.0F, 1.F },
{ 0.5F, -0.5F, 0.0F, 1.F },
{ -0.5F, -0.5F, 0.0F, 1.F },
};
const float4 colors[3] = {
{ 1.0F, 0.0F, 0.0F, 1.F },
{ 0.0F, 1.0F, 0.0F, 1.F },
{ 0.0F, 0.0F, 1.0F, 1.F },
};
PSInput output;
output.position = positions[vertex_id];
output.color = colors[vertex_id];
return output;
}
float4 TrianglePS(PSInput input) : SV_TARGET
{
return input.color;
}