Browse Source

Shaders: using new type aliases in whole Shaders namespace.

pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
003e524a26
  1. 4
      src/Shaders/AbstractTextShader.h
  2. 4
      src/Shaders/FlatShader.cpp
  3. 4
      src/Shaders/FlatShader.h
  4. 4
      src/Shaders/PhongShader.h
  5. 10
      src/Shaders/Shaders.h
  6. 4
      src/Shaders/TextShader.cpp
  7. 4
      src/Shaders/TextShader.h
  8. 4
      src/Shaders/VertexColorShader.cpp
  9. 4
      src/Shaders/VertexColorShader.h

4
src/Shaders/AbstractTextShader.h

@ -30,7 +30,7 @@ namespace Magnum { namespace Shaders {
@see AbstractTextShader2D, AbstractTextShader3D @see AbstractTextShader2D, AbstractTextShader3D
*/ */
template<std::uint8_t dimensions> class AbstractTextShader: public AbstractShaderProgram { template<UnsignedInt dimensions> class AbstractTextShader: public AbstractShaderProgram {
public: public:
/** @brief Vertex position */ /** @brief Vertex position */
typedef Attribute<0, typename DimensionTraits<dimensions>::VectorType> Position; typedef Attribute<0, typename DimensionTraits<dimensions>::VectorType> Position;
@ -45,7 +45,7 @@ template<std::uint8_t dimensions> class AbstractTextShader: public AbstractShade
~AbstractTextShader() = 0; ~AbstractTextShader() = 0;
}; };
template<std::uint8_t dimensions> inline AbstractTextShader<dimensions>::~AbstractTextShader() {} template<UnsignedInt dimensions> inline AbstractTextShader<dimensions>::~AbstractTextShader() {}
/** @brief Base for two-dimensional text shaders */ /** @brief Base for two-dimensional text shaders */
typedef AbstractTextShader<2> AbstractTextShader2D; typedef AbstractTextShader<2> AbstractTextShader2D;

4
src/Shaders/FlatShader.cpp

@ -23,12 +23,12 @@
namespace Magnum { namespace Shaders { namespace Magnum { namespace Shaders {
namespace { namespace {
template<std::uint8_t> constexpr const char* vertexShaderName(); template<UnsignedInt> constexpr const char* vertexShaderName();
template<> constexpr const char* vertexShaderName<2>() { return "FlatShader2D.vert"; } template<> constexpr const char* vertexShaderName<2>() { return "FlatShader2D.vert"; }
template<> constexpr const char* vertexShaderName<3>() { return "FlatShader3D.vert"; } template<> constexpr const char* vertexShaderName<3>() { return "FlatShader3D.vert"; }
} }
template<std::uint8_t dimensions> FlatShader<dimensions>::FlatShader(): transformationProjectionMatrixUniform(0), colorUniform(1) { template<UnsignedInt dimensions> FlatShader<dimensions>::FlatShader(): transformationProjectionMatrixUniform(0), colorUniform(1) {
Corrade::Utility::Resource rs("MagnumShaders"); Corrade::Utility::Resource rs("MagnumShaders");
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES

4
src/Shaders/FlatShader.h

@ -35,7 +35,7 @@ namespace Magnum { namespace Shaders {
Draws whole mesh with one color. Draws whole mesh with one color.
@see FlatShader2D, FlatShader3D @see FlatShader2D, FlatShader3D
*/ */
template<std::uint8_t dimensions> class MAGNUM_SHADERS_EXPORT FlatShader: public AbstractShaderProgram { template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT FlatShader: public AbstractShaderProgram {
public: public:
/** @brief Vertex position */ /** @brief Vertex position */
typedef Attribute<0, typename DimensionTraits<dimensions>::VectorType> Position; typedef Attribute<0, typename DimensionTraits<dimensions>::VectorType> Position;
@ -61,7 +61,7 @@ template<std::uint8_t dimensions> class MAGNUM_SHADERS_EXPORT FlatShader: public
} }
private: private:
GLint transformationProjectionMatrixUniform, Int transformationProjectionMatrixUniform,
colorUniform; colorUniform;
}; };

4
src/Shaders/PhongShader.h

@ -78,7 +78,7 @@ class MAGNUM_SHADERS_EXPORT PhongShader: public AbstractShaderProgram {
* The larger value, the harder surface (smaller specular highlight). * The larger value, the harder surface (smaller specular highlight).
* If not set, default value is `80.0f`. * If not set, default value is `80.0f`.
*/ */
inline PhongShader* setShininess(GLfloat shininess) { inline PhongShader* setShininess(Float shininess) {
setUniform(shininessUniform, shininess); setUniform(shininessUniform, shininess);
return this; return this;
} }
@ -123,7 +123,7 @@ class MAGNUM_SHADERS_EXPORT PhongShader: public AbstractShaderProgram {
} }
private: private:
GLint transformationMatrixUniform, Int transformationMatrixUniform,
projectionMatrixUniform, projectionMatrixUniform,
normalMatrixUniform, normalMatrixUniform,
lightUniform, lightUniform,

10
src/Shaders/Shaders.h

@ -19,27 +19,27 @@
* @brief Forward declarations for Magnum::Shaders namespace * @brief Forward declarations for Magnum::Shaders namespace
*/ */
#include <cstdint> #include "Types.h"
namespace Magnum { namespace Shaders { namespace Magnum { namespace Shaders {
/** @todoc remove when doxygen is sane again */ /** @todoc remove when doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT #ifndef DOXYGEN_GENERATING_OUTPUT
template<std::uint8_t> class AbstractTextShader; template<UnsignedInt> class AbstractTextShader;
typedef AbstractTextShader<2> AbstractTextShader2D; typedef AbstractTextShader<2> AbstractTextShader2D;
typedef AbstractTextShader<3> AbstractTextShader3D; typedef AbstractTextShader<3> AbstractTextShader3D;
template<std::uint8_t> class FlatShader; template<UnsignedInt> class FlatShader;
typedef FlatShader<2> FlatShader2D; typedef FlatShader<2> FlatShader2D;
typedef FlatShader<3> FlatShader3D; typedef FlatShader<3> FlatShader3D;
class PhongShader; class PhongShader;
template<std::uint8_t> class TextShader; template<UnsignedInt> class TextShader;
typedef TextShader<2> TextShader2D; typedef TextShader<2> TextShader2D;
typedef TextShader<3> TextShader3D; typedef TextShader<3> TextShader3D;
template<std::uint8_t> class VertexColorShader; template<UnsignedInt> class VertexColorShader;
typedef VertexColorShader<2> VertexColorShader2D; typedef VertexColorShader<2> VertexColorShader2D;
typedef VertexColorShader<3> VertexColorShader3D; typedef VertexColorShader<3> VertexColorShader3D;
#endif #endif

4
src/Shaders/TextShader.cpp

@ -24,12 +24,12 @@
namespace Magnum { namespace Shaders { namespace Magnum { namespace Shaders {
namespace { namespace {
template<std::uint8_t> constexpr const char* vertexShaderName(); template<UnsignedInt> constexpr const char* vertexShaderName();
template<> constexpr const char* vertexShaderName<2>() { return "TextShader2D.vert"; } template<> constexpr const char* vertexShaderName<2>() { return "TextShader2D.vert"; }
template<> constexpr const char* vertexShaderName<3>() { return "TextShader3D.vert"; } template<> constexpr const char* vertexShaderName<3>() { return "TextShader3D.vert"; }
} }
template<std::uint8_t dimensions> TextShader<dimensions>::TextShader(): transformationProjectionMatrixUniform(0), colorUniform(1) { template<UnsignedInt dimensions> TextShader<dimensions>::TextShader(): transformationProjectionMatrixUniform(0), colorUniform(1) {
Corrade::Utility::Resource rs("MagnumShaders"); Corrade::Utility::Resource rs("MagnumShaders");
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES

4
src/Shaders/TextShader.h

@ -32,7 +32,7 @@ namespace Magnum { namespace Shaders {
@see TextShader2D, TextShader3D @see TextShader2D, TextShader3D
*/ */
template<std::uint8_t dimensions> class MAGNUM_SHADERS_EXPORT TextShader: public AbstractTextShader<dimensions> { template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT TextShader: public AbstractTextShader<dimensions> {
public: public:
TextShader(); TextShader();
@ -49,7 +49,7 @@ template<std::uint8_t dimensions> class MAGNUM_SHADERS_EXPORT TextShader: public
} }
private: private:
GLint transformationProjectionMatrixUniform, Int transformationProjectionMatrixUniform,
colorUniform; colorUniform;
}; };

4
src/Shaders/VertexColorShader.cpp

@ -23,12 +23,12 @@
namespace Magnum { namespace Shaders { namespace Magnum { namespace Shaders {
namespace { namespace {
template<std::uint8_t> constexpr const char* vertexShaderName(); template<UnsignedInt> constexpr const char* vertexShaderName();
template<> constexpr const char* vertexShaderName<2>() { return "VertexColorShader2D.vert"; } template<> constexpr const char* vertexShaderName<2>() { return "VertexColorShader2D.vert"; }
template<> constexpr const char* vertexShaderName<3>() { return "VertexColorShader3D.vert"; } template<> constexpr const char* vertexShaderName<3>() { return "VertexColorShader3D.vert"; }
} }
template<std::uint8_t dimensions> VertexColorShader<dimensions>::VertexColorShader(): transformationProjectionMatrixUniform(0) { template<UnsignedInt dimensions> VertexColorShader<dimensions>::VertexColorShader(): transformationProjectionMatrixUniform(0) {
Corrade::Utility::Resource rs("MagnumShaders"); Corrade::Utility::Resource rs("MagnumShaders");
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES

4
src/Shaders/VertexColorShader.h

@ -35,7 +35,7 @@ namespace Magnum { namespace Shaders {
Draws vertex-colored mesh. Draws vertex-colored mesh.
@see VertexColorShader2D, VertexColorShader3D @see VertexColorShader2D, VertexColorShader3D
*/ */
template<std::uint8_t dimensions> class MAGNUM_SHADERS_EXPORT VertexColorShader: public AbstractShaderProgram { template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT VertexColorShader: public AbstractShaderProgram {
public: public:
/** @brief Vertex position */ /** @brief Vertex position */
typedef Attribute<0, typename DimensionTraits<dimensions>::VectorType> Position; typedef Attribute<0, typename DimensionTraits<dimensions>::VectorType> Position;
@ -55,7 +55,7 @@ template<std::uint8_t dimensions> class MAGNUM_SHADERS_EXPORT VertexColorShader:
} }
private: private:
GLint transformationProjectionMatrixUniform; Int transformationProjectionMatrixUniform;
}; };
/** @brief 2D vertex color shader */ /** @brief 2D vertex color shader */

Loading…
Cancel
Save