]> git.localhorst.tv Git - blobs.git/commitdiff
allow alpha in plain color shader
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Mon, 20 Nov 2017 07:57:05 +0000 (08:57 +0100)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Mon, 20 Nov 2017 07:57:05 +0000 (08:57 +0100)
src/graphics/PlainColor.hpp
src/graphics/shader.cpp

index 660ca9313e867292a7191ab76904a7bbb66b05c1..534218b3be456024961644568371fbb18d6ed6c6 100644 (file)
@@ -30,7 +30,7 @@ public:
        void SetM(const glm::mat4 &m) noexcept;
        void SetVP(const glm::mat4 &v, const glm::mat4 &p) noexcept;
        void SetMVP(const glm::mat4 &m, const glm::mat4 &v, const glm::mat4 &p) noexcept;
-       void SetColor(const glm::vec3 &color) noexcept;
+       void SetColor(const glm::vec4 &color) noexcept;
 
        const glm::mat4 &M() const noexcept { return m; }
        const glm::mat4 &V() const noexcept { return v; }
index b14da4d1011358922fcf211fbb1d26ca2fb93bae..0f372d014915478dda1c2c94a6a0cb4d58193b42 100644 (file)
@@ -648,9 +648,9 @@ PlainColor::PlainColor()
                GL_FRAGMENT_SHADER,
                "#version 330 core\n"
 
-               "uniform vec3 fg_color;\n"
+               "uniform vec4 fg_color;\n"
 
-               "out vec3 color;\n"
+               "out vec4 color;\n"
 
                "void main() {\n"
                        "color = fg_color;\n"
@@ -701,7 +701,8 @@ void PlainColor::Activate() noexcept {
        glEnable(GL_DEPTH_TEST);
        glDepthFunc(GL_LESS);
        glEnable(GL_CULL_FACE);
-       glDisable(GL_BLEND);
+       glEnable(GL_BLEND);
+       glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 }
 
 void PlainColor::SetM(const glm::mat4 &mm) noexcept {
@@ -733,7 +734,7 @@ void PlainColor::SetMVP(const glm::mat4 &mm, const glm::mat4 &vv, const glm::mat
        prog.Uniform(mvp_handle, mvp);
 }
 
-void PlainColor::SetColor(const glm::vec3 &color) noexcept {
+void PlainColor::SetColor(const glm::vec4 &color) noexcept {
        prog.Uniform(fg_color_handle, color);
 }