Browse Source

Shaders: support alpha in VectorShader::setColor().

pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
5a374dd73e
  1. 6
      src/Shaders/VectorShader.frag
  2. 2
      src/Shaders/VectorShader.h

6
src/Shaders/VectorShader.frag

@ -4,9 +4,9 @@
#endif #endif
#ifdef EXPLICIT_UNIFORM_LOCATION #ifdef EXPLICIT_UNIFORM_LOCATION
layout(location = 1) uniform vec3 color; layout(location = 1) uniform vec4 color;
#else #else
uniform lowp vec3 color; uniform lowp vec4 color;
#endif #endif
#ifdef EXPLICIT_TEXTURE_LAYER #ifdef EXPLICIT_TEXTURE_LAYER
@ -23,5 +23,5 @@ out vec4 fragmentColor;
void main() { void main() {
lowp float intensity = texture(vectorTexture, fragmentTextureCoordinates).r; lowp float intensity = texture(vectorTexture, fragmentTextureCoordinates).r;
fragmentColor = vec4(intensity*color, intensity); fragmentColor = intensity*color;
} }

2
src/Shaders/VectorShader.h

@ -43,7 +43,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT VectorShader: publi
} }
/** @brief Set fill color */ /** @brief Set fill color */
inline VectorShader* setColor(const Color3<>& color) { inline VectorShader* setColor(const Color4<>& color) {
AbstractVectorShader<dimensions>::setUniform(colorUniform, color); AbstractVectorShader<dimensions>::setUniform(colorUniform, color);
return this; return this;
} }

Loading…
Cancel
Save