diff --git a/doc/changelog.dox b/doc/changelog.dox index 9f3254a78..54bdbf5dd 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -160,6 +160,10 @@ See also: bootstrap project for using Magnum together with wxWidgets (see [mosra/magnum-bootstrap#19](https://github.com/mosra/magnum-bootstrap/pull/19)) +@subsubsection changelog-latest-new-shaders Shaders library + +- Added @ref Shaders::Generic3D::Tangent generic vertex attribute definition + @subsubsection changelog-latest-new-text Text library - A new @ref Text::AbstractGlyphCache base now makes @ref Text::AbstractFont diff --git a/src/Magnum/Shaders/Generic.h b/src/Magnum/Shaders/Generic.h index 90be1f73f..6f4e4eb78 100644 --- a/src/Magnum/Shaders/Generic.h +++ b/src/Magnum/Shaders/Generic.h @@ -69,6 +69,13 @@ template struct Generic { */ typedef GL::Attribute<2, Vector3> Normal; + /** + * @brief Vertex tangent + * + * @ref Magnum::Vector3 "Vector3", defined only in 3D. + */ + typedef GL::Attribute<4, Vector3> Tangent; + /** * @brief Three-component vertex color. * @@ -136,6 +143,7 @@ template<> struct Generic<2>: BaseGeneric { template<> struct Generic<3>: BaseGeneric { typedef GL::Attribute<0, Vector3> Position; typedef GL::Attribute<2, Vector3> Normal; + typedef GL::Attribute<4, Vector3> Tangent; }; #endif diff --git a/src/Magnum/Shaders/generic.glsl b/src/Magnum/Shaders/generic.glsl index 3b2f2ae6c..2356c7d42 100644 --- a/src/Magnum/Shaders/generic.glsl +++ b/src/Magnum/Shaders/generic.glsl @@ -29,3 +29,4 @@ #define TEXTURECOORDINATES_ATTRIBUTE_LOCATION 1 #define NORMAL_ATTRIBUTE_LOCATION 2 #define COLOR_ATTRIBUTE_LOCATION 3 +#define TANGENT_ATTRIBUTE_LOCATION 4