diff --git a/doc/snippets/MagnumMeshTools-gl.cpp b/doc/snippets/MagnumMeshTools-gl.cpp index fb1cc1265..9401d59ee 100644 --- a/doc/snippets/MagnumMeshTools-gl.cpp +++ b/doc/snippets/MagnumMeshTools-gl.cpp @@ -26,6 +26,7 @@ #include /* for std::tie() :( */ #include +#include "Magnum/GL/AbstractShaderProgram.h" #include "Magnum/GL/Buffer.h" #include "Magnum/GL/Mesh.h" #include "Magnum/Math/Vector3.h" @@ -56,6 +57,11 @@ GL::Mesh mesh = MeshTools::compile(meshData, indices, vertices); { Trade::MeshData meshData{MeshPrimitive::Lines, 5}; /* [compile-external-attributes] */ +struct MyShader: GL::AbstractShaderProgram { + typedef GL::Attribute MyCustomAttribute; + + DOXYGEN_ELLIPSIS() +}; Trade::MeshAttribute myCustomAttribute = DOXYGEN_ELLIPSIS({}); GL::Buffer indices{meshData.indexData()}; @@ -66,8 +72,10 @@ GL::Mesh mesh = MeshTools::compile(meshData, std::move(indices), vertices); mesh.addVertexBuffer(std::move(vertices), meshData.attributeOffset(myCustomAttribute), meshData.attributeStride(myCustomAttribute), - GL::DynamicAttribute{GL::DynamicAttribute::Kind::Generic, 7, - meshData.attributeFormat(myCustomAttribute)}); + GL::DynamicAttribute{ + MyShader::MyCustomAttribute{}, + meshData.attributeFormat(myCustomAttribute) + }); /* [compile-external-attributes] */ }