Browse Source

python: expose Phong tangents and vertex colors.

pull/8/head
Vladimír Vondruš 7 years ago
parent
commit
02fc8900b9
  1. 5
      doc/python/conf.py
  2. 3
      doc/python/magnum.shaders.rst
  3. 9
      src/python/magnum/shaders.cpp

5
doc/python/conf.py

@ -84,7 +84,10 @@ magnum.shaders.VertexColor3D.__annotations__ = {
magnum.shaders.Phong.__annotations__ = {
'POSITION': magnum.gl.Attribute,
'NORMAL': magnum.gl.Attribute,
'TEXTURE_COORDINATES': magnum.gl.Attribute
'TANGENT': magnum.gl.Attribute,
'TEXTURE_COORDINATES': magnum.gl.Attribute,
'COLOR3': magnum.gl.Attribute,
'COLOR4': magnum.gl.Attribute
}
PROJECT_TITLE = 'Magnum'

3
doc/python/magnum.shaders.rst

@ -36,7 +36,10 @@
.. py:class:: magnum.shaders.Phong
:data POSITION: Vertex position
:data NORMAL: Normal direction
:data TANGENT: Tangent direction
:data TEXTURE_COORDINATES: 2D texture coordinates
:data COLOR3: Three-component vertex color
:data COLOR4: Four-component vertex color
.. py:property:: magnum.shaders.Phong.alpha_mask
:raise AttributeError: If the shader was not created with `Flags.ALPHA_MASK`

9
src/python/magnum/shaders.cpp

@ -82,7 +82,10 @@ void shaders(py::module& m) {
"Phong", "Phong shader"};
phong.attr("POSITION") = GL::DynamicAttribute{Shaders::Phong::Position{}};
phong.attr("NORMAL") = GL::DynamicAttribute{Shaders::Phong::Normal{}};
phong.attr("TANGENT") = GL::DynamicAttribute{Shaders::Phong::Tangent{}};
phong.attr("TEXTURE_COORDINATES") = GL::DynamicAttribute{Shaders::Phong::TextureCoordinates{}};
phong.attr("COLOR3") = GL::DynamicAttribute{Shaders::Phong::Color3{}};
phong.attr("COLOR4") = GL::DynamicAttribute{Shaders::Phong::Color4{}};
py::enum_<Shaders::Phong::Flag> flags{phong, "Flags", "Flags"};
@ -90,8 +93,12 @@ void shaders(py::module& m) {
.value("AMBIENT_TEXTURE", Shaders::Phong::Flag::AmbientTexture)
.value("DIFFUSE_TEXTURE", Shaders::Phong::Flag::DiffuseTexture)
.value("SPECULAR_TEXTURE", Shaders::Phong::Flag::SpecularTexture)
.value("NORMAL_TEXTURE", Shaders::Phong::Flag::NormalTexture)
.value("ALPHA_MASK", Shaders::Phong::Flag::AlphaMask)
.value("NONE", Shaders::Phong::Flag{});
.value("VERTEX_COLOR", Shaders::Phong::Flag::VertexColor)
.value("NONE", Shaders::Phong::Flag{})
/* TODO: OBJECT_ID, once multiple FB outputs and mapDraw is exposed */
;
corrade::enumOperators(flags);
phong

Loading…
Cancel
Save