From 84cdf90dc0a9fa81fa0b0cd20470994e571751f4 Mon Sep 17 00:00:00 2001 From: Victor Polevoy Date: Mon, 1 Aug 2016 14:56:20 +0300 Subject: [PATCH] Added shaders for drawing a triangle --- code/shaders/shader.frag | 10 ++++++++++ code/shaders/shader.vert | 25 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 code/shaders/shader.frag create mode 100644 code/shaders/shader.vert diff --git a/code/shaders/shader.frag b/code/shaders/shader.frag new file mode 100644 index 00000000..84daf5e0 --- /dev/null +++ b/code/shaders/shader.frag @@ -0,0 +1,10 @@ +#version 450 +#extension GL_ARB_separate_shader_objects : enable + +layout(location = 0) in vec3 fragColor; + +layout(location = 0) out vec4 outColor; + +void main() { + outColor = vec4(fragColor, 1.0); +} diff --git a/code/shaders/shader.vert b/code/shaders/shader.vert new file mode 100644 index 00000000..d38f8152 --- /dev/null +++ b/code/shaders/shader.vert @@ -0,0 +1,25 @@ +#version 450 +#extension GL_ARB_separate_shader_objects : enable + +out gl_PerVertex { + vec4 gl_Position; +}; + +layout(location = 0) out vec3 fragColor; + +vec2 positions[3] = vec2[]( + vec2(0.0, -0.5), + vec2(0.5, 0.5), + vec2(-0.5, 0.5) +); + +vec3 colors[3] = vec3[]( + vec3(1.0, 0.0, 0.0), + vec3(0.0, 1.0, 0.0), + vec3(0.0, 0.0, 1.0) +); + +void main() { + gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0); + fragColor = colors[gl_VertexIndex]; +}