diff options
Diffstat (limited to 'advanced_opengl/3.blending/shaders')
-rw-r--r-- | advanced_opengl/3.blending/shaders/blending.fs | 13 | ||||
-rw-r--r-- | advanced_opengl/3.blending/shaders/blending.vs | 16 | ||||
-rw-r--r-- | advanced_opengl/3.blending/shaders/grass.fs | 17 |
3 files changed, 46 insertions, 0 deletions
diff --git a/advanced_opengl/3.blending/shaders/blending.fs b/advanced_opengl/3.blending/shaders/blending.fs new file mode 100644 index 0000000..f58c5d3 --- /dev/null +++ b/advanced_opengl/3.blending/shaders/blending.fs @@ -0,0 +1,13 @@ +#version 330 core + +out vec4 frag_color; + +in vec2 tex_coords; + +uniform sampler2D texture1; + +void +main(void) +{ + frag_color = texture(texture1, tex_coords); +} diff --git a/advanced_opengl/3.blending/shaders/blending.vs b/advanced_opengl/3.blending/shaders/blending.vs new file mode 100644 index 0000000..d3d92d1 --- /dev/null +++ b/advanced_opengl/3.blending/shaders/blending.vs @@ -0,0 +1,16 @@ +#version 330 core +layout(location = 0) in vec3 apos; +layout(location = 1) in vec2 atex_coords; + +uniform mat4 model; +uniform mat4 view; +uniform mat4 projection; + +out vec2 tex_coords; + +void +main(void) +{ + gl_Position = projection*view*model*vec4(apos, 1.0f); + tex_coords = atex_coords; +} diff --git a/advanced_opengl/3.blending/shaders/grass.fs b/advanced_opengl/3.blending/shaders/grass.fs new file mode 100644 index 0000000..cecb0ce --- /dev/null +++ b/advanced_opengl/3.blending/shaders/grass.fs @@ -0,0 +1,17 @@ +#version 330 core + +out vec4 frag_color; + +in vec2 tex_coords; + +uniform sampler2D texture1; + +void +main(void) +{ + vec4 tex_color = texture(texture1, tex_coords); + if (tex_color.a <= 0.2) { + discard; + } + frag_color = tex_color; +} |