summaryrefslogtreecommitdiffhomepage
path: root/shaders
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-02-17 22:26:16 +0100
committerStanislaw Halik <sthalik@misaki.pl>2022-02-17 23:09:00 +0100
commit3550a1170b354b3f7dd92df038f6e6d7c8e0dd7f (patch)
tree9fd5b93a53815690f91d00dfa82dbc6b49109025 /shaders
initial import
Diffstat (limited to 'shaders')
-rw-r--r--shaders/TexturedQuadShader.frag40
-rw-r--r--shaders/TexturedQuadShader.vert39
2 files changed, 79 insertions, 0 deletions
diff --git a/shaders/TexturedQuadShader.frag b/shaders/TexturedQuadShader.frag
new file mode 100644
index 00000000..06d647f8
--- /dev/null
+++ b/shaders/TexturedQuadShader.frag
@@ -0,0 +1,40 @@
+/*
+ This file is part of Magnum.
+
+ Original authors — credit is appreciated but not required:
+
+ 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
+ 2020, 2021, 2022 — Vladimír Vondruš <mosra@centrum.cz>
+
+ This is free and unencumbered software released into the public domain.
+
+ Anyone is free to copy, modify, publish, use, compile, sell, or distribute
+ this software, either in source code form or as a compiled binary, for any
+ purpose, commercial or non-commercial, and by any means.
+
+ In jurisdictions that recognize copyright laws, the author or authors of
+ this software dedicate any and all copyright interest in the software to
+ the public domain. We make this dedication for the benefit of the public
+ at large and to the detriment of our heirs and successors. We intend this
+ dedication to be an overt act of relinquishment in perpetuity of all
+ present and future rights to this software under copyright law.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+uniform vec3 color = vec3(1.0, 1.0, 1.0);
+uniform sampler2D textureData;
+
+in vec2 interpolatedTextureCoordinates;
+
+out vec4 fragmentColor;
+
+void main() {
+ fragmentColor.rgb = color*texture(textureData, interpolatedTextureCoordinates).rgb;
+ fragmentColor.a = 1.0;
+}
diff --git a/shaders/TexturedQuadShader.vert b/shaders/TexturedQuadShader.vert
new file mode 100644
index 00000000..2fd94f8f
--- /dev/null
+++ b/shaders/TexturedQuadShader.vert
@@ -0,0 +1,39 @@
+/*
+ This file is part of Magnum.
+
+ Original authors — credit is appreciated but not required:
+
+ 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
+ 2020, 2021, 2022 — Vladimír Vondruš <mosra@centrum.cz>
+
+ This is free and unencumbered software released into the public domain.
+
+ Anyone is free to copy, modify, publish, use, compile, sell, or distribute
+ this software, either in source code form or as a compiled binary, for any
+ purpose, commercial or non-commercial, and by any means.
+
+ In jurisdictions that recognize copyright laws, the author or authors of
+ this software dedicate any and all copyright interest in the software to
+ the public domain. We make this dedication for the benefit of the public
+ at large and to the detriment of our heirs and successors. We intend this
+ dedication to be an overt act of relinquishment in perpetuity of all
+ present and future rights to this software under copyright law.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+layout(location = 0) in vec4 position;
+layout(location = 1) in vec2 textureCoordinates;
+
+out vec2 interpolatedTextureCoordinates;
+
+void main() {
+ interpolatedTextureCoordinates = textureCoordinates;
+
+ gl_Position = position;
+}