Browse Source

TextureTools: move all initialization to DistanceFieldGL::State.

Similarly to changes done elsewhere, instead of a part being done here
and other part there.
pull/674/head
Vladimír Vondruš 1 year ago
parent
commit
f24a73f433
  1. 10
      src/Magnum/TextureTools/DistanceFieldGL.cpp

10
src/Magnum/TextureTools/DistanceFieldGL.cpp

@ -143,19 +143,19 @@ DistanceFieldShader::DistanceFieldShader(const UnsignedInt radius) {
}
struct DistanceFieldGL::State {
explicit State(UnsignedInt radius): shader{radius}, radius{radius} {}
explicit State(UnsignedInt radius);
DistanceFieldShader shader;
UnsignedInt radius;
GL::Mesh mesh;
};
DistanceFieldGL::DistanceFieldGL(const UnsignedInt radius): _state{InPlaceInit, radius} {
DistanceFieldGL::State::State(const UnsignedInt radius): shader{radius}, radius{radius} {
#ifndef MAGNUM_TARGET_GLES
MAGNUM_ASSERT_GL_EXTENSION_SUPPORTED(GL::Extensions::ARB::framebuffer_object);
#endif
_state->mesh.setPrimitive(GL::MeshPrimitive::Triangles)
mesh.setPrimitive(GL::MeshPrimitive::Triangles)
.setCount(3);
#ifndef MAGNUM_TARGET_GLES2
@ -167,10 +167,12 @@ DistanceFieldGL::DistanceFieldGL(const UnsignedInt radius): _state{InPlaceInit,
{-1.0f, -3.0f},
{ 3.0f, 1.0f}
};
_state->mesh.addVertexBuffer(GL::Buffer{triangle}, 0, DistanceFieldShader::Position());
mesh.addVertexBuffer(GL::Buffer{triangle}, 0, DistanceFieldShader::Position());
}
}
DistanceFieldGL::DistanceFieldGL(UnsignedInt radius): _state{InPlaceInit, radius} {}
DistanceFieldGL::DistanceFieldGL(NoCreateT) noexcept {}
DistanceFieldGL::DistanceFieldGL(DistanceFieldGL&&) noexcept = default;

Loading…
Cancel
Save