diff --git a/src/ACGL/OpenGL/Data/TextureData.cc b/src/ACGL/OpenGL/Data/TextureData.cc index 3a09d2a73f647bdfaba20f3a8a58dfb161712004..facd4f8020ddb5d98079c855a24859ead9364239 100644 --- a/src/ACGL/OpenGL/Data/TextureData.cc +++ b/src/ACGL/OpenGL/Data/TextureData.cc @@ -324,7 +324,7 @@ glm::vec4 convertTexelNumChannels(glm::vec4 _texel, GLsizei _from, GLsizei _to) else if (_from == 2) { switch (_to) { case 1: return glm::vec4( _texel.r, 0.0, 0.0, 0.0 ); - case 3: return glm::vec4( _texel.r, _texel.r, _texel.r, _texel.g ); + case 3: return glm::vec4( _texel.r, _texel.r, _texel.r, 0.0 ); case 4: return glm::vec4( _texel.r, _texel.r, _texel.r, _texel.g ); } } @@ -332,14 +332,14 @@ glm::vec4 convertTexelNumChannels(glm::vec4 _texel, GLsizei _from, GLsizei _to) switch (_to) { case 1: return glm::vec4( grayscaleMixdown(_texel.r, _texel.g, _texel.b), 0.0, 0.0, 0.0 ); case 2: return glm::vec4( grayscaleMixdown(_texel.r, _texel.g, _texel.b), 1.0, 0.0, 0.0 ); - case 4: return glm::vec4( _texel.r, _texel.r, _texel.r, 1.0 ); + case 4: return glm::vec4( _texel.r, _texel.g, _texel.b, 1.0 ); } } else if (_from == 4) { switch (_to) { case 1: return glm::vec4( grayscaleMixdown(_texel.r, _texel.g, _texel.b), 0.0, 0.0, 0.0 ); case 2: return glm::vec4( grayscaleMixdown(_texel.r, _texel.g, _texel.b), 1.0, 0.0, 0.0 ); - case 3: return glm::vec4( _texel.r, _texel.r, _texel.r, 0.0 ); + case 3: return glm::vec4( _texel.r, _texel.g, _texel.b, 0.0 ); } } return _texel;