Browse Source

Shaders: add ColorOutput constant to all shaders for consistency.

pull/364/head
Vladimír Vondruš 7 years ago
parent
commit
cd5f5e7ff9
  1. 9
      src/Magnum/Shaders/AbstractVector.h
  2. 3
      src/Magnum/Shaders/DistanceFieldVector.cpp
  3. 3
      src/Magnum/Shaders/DistanceFieldVector.frag
  4. 1
      src/Magnum/Shaders/MeshVisualizer.cpp
  5. 3
      src/Magnum/Shaders/MeshVisualizer.frag
  6. 9
      src/Magnum/Shaders/MeshVisualizer.h
  7. 3
      src/Magnum/Shaders/Vector.cpp
  8. 3
      src/Magnum/Shaders/Vector.frag
  9. 3
      src/Magnum/Shaders/VertexColor.cpp
  10. 3
      src/Magnum/Shaders/VertexColor.frag
  11. 9
      src/Magnum/Shaders/VertexColor.h

9
src/Magnum/Shaders/AbstractVector.h

@ -59,6 +59,15 @@ template<UnsignedInt dimensions> class AbstractVector: public GL::AbstractShader
*/ */
typedef typename Generic<dimensions>::TextureCoordinates TextureCoordinates; typedef typename Generic<dimensions>::TextureCoordinates TextureCoordinates;
enum: UnsignedInt {
/**
* Color shader output. @ref shaders-generic "Generic output",
* present always. Expects three- or four-component floating-point
* or normalized buffer attachment.
*/
ColorOutput = Generic<dimensions>::ColorOutput
};
/** @brief Copying is not allowed */ /** @brief Copying is not allowed */
AbstractVector(const AbstractVector<dimensions>&) = delete; AbstractVector(const AbstractVector<dimensions>&) = delete;

3
src/Magnum/Shaders/DistanceFieldVector.cpp

@ -61,7 +61,8 @@ template<UnsignedInt dimensions> DistanceFieldVector<dimensions>::DistanceFieldV
vert.addSource(rs.get("generic.glsl")) vert.addSource(rs.get("generic.glsl"))
.addSource(rs.get(vertexShaderName<dimensions>())); .addSource(rs.get(vertexShaderName<dimensions>()));
frag.addSource(rs.get("DistanceFieldVector.frag")); frag.addSource(rs.get("generic.glsl"))
.addSource(rs.get("DistanceFieldVector.frag"));
CORRADE_INTERNAL_ASSERT_OUTPUT(GL::Shader::compile({vert, frag})); CORRADE_INTERNAL_ASSERT_OUTPUT(GL::Shader::compile({vert, frag}));

3
src/Magnum/Shaders/DistanceFieldVector.frag

@ -69,6 +69,9 @@ uniform lowp sampler2D vectorTexture;
in mediump vec2 fragmentTextureCoordinates; in mediump vec2 fragmentTextureCoordinates;
#ifdef NEW_GLSL #ifdef NEW_GLSL
#ifdef EXPLICIT_ATTRIB_LOCATION
layout(location = COLOR_OUTPUT_ATTRIBUTE_LOCATION)
#endif
out lowp vec4 fragmentColor; out lowp vec4 fragmentColor;
#endif #endif

1
src/Magnum/Shaders/MeshVisualizer.cpp

@ -85,6 +85,7 @@ MeshVisualizer::MeshVisualizer(const Flags flags): _flags{flags} {
.addSource(rs.get("MeshVisualizer.vert")); .addSource(rs.get("MeshVisualizer.vert"));
frag.addSource(flags & Flag::Wireframe ? "#define WIREFRAME_RENDERING\n" : "") frag.addSource(flags & Flag::Wireframe ? "#define WIREFRAME_RENDERING\n" : "")
.addSource(flags & Flag::NoGeometryShader ? "#define NO_GEOMETRY_SHADER\n" : "") .addSource(flags & Flag::NoGeometryShader ? "#define NO_GEOMETRY_SHADER\n" : "")
.addSource(rs.get("generic.glsl"))
.addSource(rs.get("MeshVisualizer.frag")); .addSource(rs.get("MeshVisualizer.frag"));
#if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL) #if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL)

3
src/Magnum/Shaders/MeshVisualizer.frag

@ -92,6 +92,9 @@ in lowp vec3 barycentric;
#endif #endif
#ifdef NEW_GLSL #ifdef NEW_GLSL
#ifdef EXPLICIT_ATTRIB_LOCATION
layout(location = COLOR_OUTPUT_ATTRIBUTE_LOCATION)
#endif
out lowp vec4 fragmentColor; out lowp vec4 fragmentColor;
#endif #endif

9
src/Magnum/Shaders/MeshVisualizer.h

@ -128,6 +128,15 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer: public GL::AbstractShaderProgram {
*/ */
typedef GL::Attribute<3, Float> VertexIndex; typedef GL::Attribute<3, Float> VertexIndex;
enum: UnsignedInt {
/**
* Color shader output. @ref shaders-generic "Generic output",
* present always. Expects three- or four-component floating-point
* or normalized buffer attachment.
*/
ColorOutput = Generic3D::ColorOutput
};
/** /**
* @brief Flag * @brief Flag
* *

3
src/Magnum/Shaders/Vector.cpp

@ -61,7 +61,8 @@ template<UnsignedInt dimensions> Vector<dimensions>::Vector() {
vert.addSource(rs.get("generic.glsl")) vert.addSource(rs.get("generic.glsl"))
.addSource(rs.get(vertexShaderName<dimensions>())); .addSource(rs.get(vertexShaderName<dimensions>()));
frag.addSource(rs.get("Vector.frag")); frag.addSource(rs.get("generic.glsl"))
.addSource(rs.get("Vector.frag"));
CORRADE_INTERNAL_ASSERT_OUTPUT(GL::Shader::compile({vert, frag})); CORRADE_INTERNAL_ASSERT_OUTPUT(GL::Shader::compile({vert, frag}));

3
src/Magnum/Shaders/Vector.frag

@ -51,6 +51,9 @@ uniform lowp sampler2D vectorTexture;
in mediump vec2 fragmentTextureCoordinates; in mediump vec2 fragmentTextureCoordinates;
#ifdef NEW_GLSL #ifdef NEW_GLSL
#ifdef EXPLICIT_ATTRIB_LOCATION
layout(location = COLOR_OUTPUT_ATTRIBUTE_LOCATION)
#endif
out lowp vec4 fragmentColor; out lowp vec4 fragmentColor;
#endif #endif

3
src/Magnum/Shaders/VertexColor.cpp

@ -61,7 +61,8 @@ template<UnsignedInt dimensions> VertexColor<dimensions>::VertexColor() {
vert.addSource(rs.get("generic.glsl")) vert.addSource(rs.get("generic.glsl"))
.addSource(rs.get(vertexShaderName<dimensions>())); .addSource(rs.get(vertexShaderName<dimensions>()));
frag.addSource(rs.get("VertexColor.frag")); frag.addSource(rs.get("generic.glsl"))
.addSource(rs.get("VertexColor.frag"));
CORRADE_INTERNAL_ASSERT_OUTPUT(GL::Shader::compile({vert, frag})); CORRADE_INTERNAL_ASSERT_OUTPUT(GL::Shader::compile({vert, frag}));

3
src/Magnum/Shaders/VertexColor.frag

@ -31,6 +31,9 @@
in lowp vec4 interpolatedColor; in lowp vec4 interpolatedColor;
#ifdef NEW_GLSL #ifdef NEW_GLSL
#ifdef EXPLICIT_ATTRIB_LOCATION
layout(location = COLOR_OUTPUT_ATTRIBUTE_LOCATION)
#endif
out lowp vec4 fragmentColor; out lowp vec4 fragmentColor;
#endif #endif

9
src/Magnum/Shaders/VertexColor.h

@ -89,6 +89,15 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT VertexColor: public
*/ */
typedef typename Generic<dimensions>::Color4 Color4; typedef typename Generic<dimensions>::Color4 Color4;
enum: UnsignedInt {
/**
* Color shader output. @ref shaders-generic "Generic output",
* present always. Expects three- or four-component floating-point
* or normalized buffer attachment.
*/
ColorOutput = Generic<dimensions>::ColorOutput
};
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Vertex color * @brief Vertex color

Loading…
Cancel
Save