Browse Source

doc: remove std::string usage from doc image generators.

From some, at least. The easings need to wait for a growable String.
pull/499/head
Vladimír Vondruš 3 years ago
parent
commit
31b77f0f0c
  1. 170
      doc/generated/primitives.cpp
  2. 40
      doc/generated/shaders.cpp

170
doc/generated/primitives.cpp

@ -26,7 +26,7 @@
#include <tuple> #include <tuple>
#include <Corrade/Containers/ArrayViewStl.h> #include <Corrade/Containers/ArrayViewStl.h>
#include <Corrade/Containers/Optional.h> #include <Corrade/Containers/Optional.h>
#include <Corrade/Containers/StringStl.h> #include <Corrade/Containers/String.h>
#include <Corrade/PluginManager/Manager.h> #include <Corrade/PluginManager/Manager.h>
#include <Corrade/Utility/Path.h> #include <Corrade/Utility/Path.h>
@ -93,47 +93,47 @@ struct PrimitiveVisualizer: Platform::WindowlessApplication {
int exec() override; int exec() override;
std::pair<Trade::MeshData, std::string> axis2D(); std::pair<Trade::MeshData, Containers::StringView> axis2D();
std::pair<Trade::MeshData, std::string> axis3D(); std::pair<Trade::MeshData, Containers::StringView> axis3D();
std::pair<Trade::MeshData, std::string> capsule2DWireframe(); std::pair<Trade::MeshData, Containers::StringView> capsule2DWireframe();
std::pair<Trade::MeshData, std::string> circle2DWireframe(); std::pair<Trade::MeshData, Containers::StringView> circle2DWireframe();
std::pair<Trade::MeshData, std::string> crosshair2D(); std::pair<Trade::MeshData, Containers::StringView> crosshair2D();
std::pair<Trade::MeshData, std::string> line2D(); std::pair<Trade::MeshData, Containers::StringView> line2D();
std::pair<Trade::MeshData, std::string> squareWireframe(); std::pair<Trade::MeshData, Containers::StringView> squareWireframe();
std::pair<Trade::MeshData, std::string> capsule3DWireframe(); std::pair<Trade::MeshData, Containers::StringView> capsule3DWireframe();
std::pair<Trade::MeshData, std::string> circle3DWireframe(); std::pair<Trade::MeshData, Containers::StringView> circle3DWireframe();
std::pair<Trade::MeshData, std::string> crosshair3D(); std::pair<Trade::MeshData, Containers::StringView> crosshair3D();
std::pair<Trade::MeshData, std::string> coneWireframe(); std::pair<Trade::MeshData, Containers::StringView> coneWireframe();
std::pair<Trade::MeshData, std::string> cubeWireframe(); std::pair<Trade::MeshData, Containers::StringView> cubeWireframe();
std::pair<Trade::MeshData, std::string> cylinderWireframe(); std::pair<Trade::MeshData, Containers::StringView> cylinderWireframe();
std::pair<Trade::MeshData, std::string> grid3DWireframe(); std::pair<Trade::MeshData, Containers::StringView> grid3DWireframe();
std::pair<Trade::MeshData, std::string> icosphereWireframe(); std::pair<Trade::MeshData, Containers::StringView> icosphereWireframe();
std::pair<Trade::MeshData, std::string> line3D(); std::pair<Trade::MeshData, Containers::StringView> line3D();
std::pair<Trade::MeshData, std::string> planeWireframe(); std::pair<Trade::MeshData, Containers::StringView> planeWireframe();
std::pair<Trade::MeshData, std::string> uvSphereWireframe(); std::pair<Trade::MeshData, Containers::StringView> uvSphereWireframe();
std::pair<Trade::MeshData, std::string> circle2DSolid(); std::pair<Trade::MeshData, Containers::StringView> circle2DSolid();
std::pair<Trade::MeshData, std::string> squareSolid(); std::pair<Trade::MeshData, Containers::StringView> squareSolid();
std::pair<Trade::MeshData, std::string> capsule3DSolid(); std::pair<Trade::MeshData, Containers::StringView> capsule3DSolid();
std::pair<Trade::MeshData, std::string> circle3DSolid(); std::pair<Trade::MeshData, Containers::StringView> circle3DSolid();
std::pair<Trade::MeshData, std::string> coneSolid(); std::pair<Trade::MeshData, Containers::StringView> coneSolid();
std::pair<Trade::MeshData, std::string> cubeSolid(); std::pair<Trade::MeshData, Containers::StringView> cubeSolid();
std::pair<Trade::MeshData, std::string> cylinderSolid(); std::pair<Trade::MeshData, Containers::StringView> cylinderSolid();
std::pair<Trade::MeshData, std::string> grid3DSolid(); std::pair<Trade::MeshData, Containers::StringView> grid3DSolid();
std::pair<Trade::MeshData, std::string> icosphereSolid(); std::pair<Trade::MeshData, Containers::StringView> icosphereSolid();
std::pair<Trade::MeshData, std::string> planeSolid(); std::pair<Trade::MeshData, Containers::StringView> planeSolid();
std::pair<Trade::MeshData, std::string> uvSphereSolid(); std::pair<Trade::MeshData, Containers::StringView> uvSphereSolid();
std::pair<Trade::MeshData, std::string> gradient2D(); std::pair<Trade::MeshData, Containers::StringView> gradient2D();
std::pair<Trade::MeshData, std::string> gradient2DHorizontal(); std::pair<Trade::MeshData, Containers::StringView> gradient2DHorizontal();
std::pair<Trade::MeshData, std::string> gradient2DVertical(); std::pair<Trade::MeshData, Containers::StringView> gradient2DVertical();
std::pair<Trade::MeshData, std::string> gradient3D(); std::pair<Trade::MeshData, Containers::StringView> gradient3D();
std::pair<Trade::MeshData, std::string> gradient3DHorizontal(); std::pair<Trade::MeshData, Containers::StringView> gradient3DHorizontal();
std::pair<Trade::MeshData, std::string> gradient3DVertical(); std::pair<Trade::MeshData, Containers::StringView> gradient3DVertical();
}; };
namespace { namespace {
@ -191,7 +191,7 @@ int PrimitiveVisualizer::exec() {
for(auto fun: {&PrimitiveVisualizer::axis2D}) { for(auto fun: {&PrimitiveVisualizer::axis2D}) {
multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth); multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth);
std::string filename; Containers::StringView filename;
Containers::Optional<Trade::MeshData> data; Containers::Optional<Trade::MeshData> data;
std::tie(data, filename) = (this->*fun)(); std::tie(data, filename) = (this->*fun)();
@ -210,7 +210,7 @@ int PrimitiveVisualizer::exec() {
for(auto fun: {&PrimitiveVisualizer::axis3D}) { for(auto fun: {&PrimitiveVisualizer::axis3D}) {
multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth); multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth);
std::string filename; Containers::StringView filename;
Containers::Optional<Trade::MeshData> data; Containers::Optional<Trade::MeshData> data;
std::tie(data, filename) = (this->*fun)(); std::tie(data, filename) = (this->*fun)();
@ -235,7 +235,7 @@ int PrimitiveVisualizer::exec() {
{ {
multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth); multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth);
std::string filename; Containers::StringView filename;
Containers::Optional<Trade::MeshData> data; Containers::Optional<Trade::MeshData> data;
std::tie(data, filename) = (this->*fun)(); std::tie(data, filename) = (this->*fun)();
@ -266,7 +266,7 @@ int PrimitiveVisualizer::exec() {
{ {
multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth); multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth);
std::string filename; Containers::StringView filename;
Containers::Optional<Trade::MeshData> data; Containers::Optional<Trade::MeshData> data;
std::tie(data, filename) = (this->*fun)(); std::tie(data, filename) = (this->*fun)();
@ -296,7 +296,7 @@ int PrimitiveVisualizer::exec() {
{ {
multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth); multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth);
std::string filename; Containers::StringView filename;
Containers::Optional<Trade::MeshData> data; Containers::Optional<Trade::MeshData> data;
std::tie(data, filename) = (this->*fun)(); std::tie(data, filename) = (this->*fun)();
@ -341,7 +341,7 @@ int PrimitiveVisualizer::exec() {
{ {
multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth); multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth);
std::string filename; Containers::StringView filename;
Containers::Optional<Trade::MeshData> data; Containers::Optional<Trade::MeshData> data;
std::tie(data, filename) = (this->*fun)(); std::tie(data, filename) = (this->*fun)();
@ -364,7 +364,7 @@ int PrimitiveVisualizer::exec() {
&PrimitiveVisualizer::gradient2DVertical}) { &PrimitiveVisualizer::gradient2DVertical}) {
multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth); multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth);
std::string filename; Containers::StringView filename;
Containers::Optional<Trade::MeshData> data; Containers::Optional<Trade::MeshData> data;
std::tie(data, filename) = (this->*fun)(); std::tie(data, filename) = (this->*fun)();
@ -387,7 +387,7 @@ int PrimitiveVisualizer::exec() {
&PrimitiveVisualizer::gradient3DVertical}) { &PrimitiveVisualizer::gradient3DVertical}) {
multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth); multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth);
std::string filename; Containers::StringView filename;
Containers::Optional<Trade::MeshData> data; Containers::Optional<Trade::MeshData> data;
std::tie(data, filename) = (this->*fun)(); std::tie(data, filename) = (this->*fun)();
@ -404,11 +404,11 @@ int PrimitiveVisualizer::exec() {
return 0; return 0;
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::axis2D() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::axis2D() {
return {Primitives::axis2D(), "axis2d.png"}; return {Primitives::axis2D(), "axis2d.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::gradient2D() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::gradient2D() {
return {Primitives::gradient2D({1.0f, -2.0f}, 0x2f83cc_srgbf, {-1.0f, 2.0f}, 0x3bd267_srgbf), "gradient2d.png"}; return {Primitives::gradient2D({1.0f, -2.0f}, 0x2f83cc_srgbf, {-1.0f, 2.0f}, 0x3bd267_srgbf), "gradient2d.png"};
} }
@ -419,151 +419,151 @@ namespace {
const Color3 Gradient80Percent = Math::lerp(0x2f83cc_srgbf, 0x3bd267_srgbf, 0.8f); const Color3 Gradient80Percent = Math::lerp(0x2f83cc_srgbf, 0x3bd267_srgbf, 0.8f);
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::gradient2DHorizontal() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::gradient2DHorizontal() {
return {Primitives::gradient2DHorizontal(Gradient20Percent, Gradient80Percent), "gradient2dhorizontal.png"}; return {Primitives::gradient2DHorizontal(Gradient20Percent, Gradient80Percent), "gradient2dhorizontal.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::gradient2DVertical() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::gradient2DVertical() {
/* End colors are 20%/80% blends of the above to match the range */ /* End colors are 20%/80% blends of the above to match the range */
return {Primitives::gradient2DVertical(Gradient20Percent, Gradient80Percent), "gradient2dvertical.png"}; return {Primitives::gradient2DVertical(Gradient20Percent, Gradient80Percent), "gradient2dvertical.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::axis3D() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::axis3D() {
return {Primitives::axis3D(), "axis3d.png"}; return {Primitives::axis3D(), "axis3d.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::gradient3D() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::gradient3D() {
return {Primitives::gradient3D({1.0f, -2.0f, -1.5f}, 0x2f83cc_srgbf, {-1.0f, 2.0f, -1.5f}, 0x3bd267_srgbf), "gradient3d.png"}; return {Primitives::gradient3D({1.0f, -2.0f, -1.5f}, 0x2f83cc_srgbf, {-1.0f, 2.0f, -1.5f}, 0x3bd267_srgbf), "gradient3d.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::gradient3DHorizontal() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::gradient3DHorizontal() {
return {Primitives::gradient3DHorizontal(Gradient20Percent, Gradient80Percent), "gradient3dhorizontal.png"}; return {Primitives::gradient3DHorizontal(Gradient20Percent, Gradient80Percent), "gradient3dhorizontal.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::gradient3DVertical() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::gradient3DVertical() {
return {Primitives::gradient3DVertical(Gradient20Percent, Gradient80Percent), "gradient3dvertical.png"}; return {Primitives::gradient3DVertical(Gradient20Percent, Gradient80Percent), "gradient3dvertical.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::capsule2DWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::capsule2DWireframe() {
Trade::MeshData capsule = Primitives::capsule2DWireframe(8, 1, 0.75f); Trade::MeshData capsule = Primitives::capsule2DWireframe(8, 1, 0.75f);
MeshTools::transformPointsInPlace(Matrix3::scaling(Vector2{0.75f}), MeshTools::transformPointsInPlace(Matrix3::scaling(Vector2{0.75f}),
capsule.mutableAttribute<Vector2>(Trade::MeshAttribute::Position)); capsule.mutableAttribute<Vector2>(Trade::MeshAttribute::Position));
return {std::move(capsule), "capsule2dwireframe.png"}; return {std::move(capsule), "capsule2dwireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::circle2DWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::circle2DWireframe() {
return {Primitives::circle2DWireframe(32), "circle2dwireframe.png"}; return {Primitives::circle2DWireframe(32), "circle2dwireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::crosshair2D() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::crosshair2D() {
return {Primitives::crosshair2D(), "crosshair2d.png"}; return {Primitives::crosshair2D(), "crosshair2d.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::line2D() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::line2D() {
Trade::MeshData line = Primitives::line2D(); Trade::MeshData line = Primitives::line2D();
MeshTools::transformPointsInPlace(Matrix3::translation(Vector2::xAxis(-1.0f))*Matrix3::scaling(Vector2::xScale(2.0f)), MeshTools::transformPointsInPlace(Matrix3::translation(Vector2::xAxis(-1.0f))*Matrix3::scaling(Vector2::xScale(2.0f)),
line.mutableAttribute<Vector2>(Trade::MeshAttribute::Position)); line.mutableAttribute<Vector2>(Trade::MeshAttribute::Position));
return {std::move(line), "line2d.png"}; return {std::move(line), "line2d.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::squareWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::squareWireframe() {
return {Primitives::squareWireframe(), "squarewireframe.png"}; return {Primitives::squareWireframe(), "squarewireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::capsule3DWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::capsule3DWireframe() {
Trade::MeshData capsule = Primitives::capsule3DWireframe(8, 1, 16, 1.0f); Trade::MeshData capsule = Primitives::capsule3DWireframe(8, 1, 16, 1.0f);
MeshTools::transformPointsInPlace(Matrix4::scaling(Vector3{0.75f}), MeshTools::transformPointsInPlace(Matrix4::scaling(Vector3{0.75f}),
capsule.mutableAttribute<Vector3>(Trade::MeshAttribute::Position)); capsule.mutableAttribute<Vector3>(Trade::MeshAttribute::Position));
return {std::move(capsule), "capsule3dwireframe.png"}; return {std::move(capsule), "capsule3dwireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::circle3DWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::circle3DWireframe() {
return {Primitives::circle3DWireframe(32), "circle3dwireframe.png"}; return {Primitives::circle3DWireframe(32), "circle3dwireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::crosshair3D() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::crosshair3D() {
return {Primitives::crosshair3D(), "crosshair3d.png"}; return {Primitives::crosshair3D(), "crosshair3d.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::coneWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::coneWireframe() {
return {Primitives::coneWireframe(32, 1.25f), "conewireframe.png"}; return {Primitives::coneWireframe(32, 1.25f), "conewireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::cubeWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::cubeWireframe() {
return {Primitives::cubeWireframe(), "cubewireframe.png"}; return {Primitives::cubeWireframe(), "cubewireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::cylinderWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::cylinderWireframe() {
return {Primitives::cylinderWireframe(1, 32, 1.0f), "cylinderwireframe.png"}; return {Primitives::cylinderWireframe(1, 32, 1.0f), "cylinderwireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::grid3DWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::grid3DWireframe() {
return {Primitives::grid3DWireframe({5, 3}), "grid3dwireframe.png"}; return {Primitives::grid3DWireframe({5, 3}), "grid3dwireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::icosphereWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::icosphereWireframe() {
return {Primitives::icosphereWireframe(), "icospherewireframe.png"}; return {Primitives::icosphereWireframe(), "icospherewireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::line3D() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::line3D() {
Trade::MeshData line = Primitives::line3D(); Trade::MeshData line = Primitives::line3D();
MeshTools::transformPointsInPlace(Matrix4::translation(Vector3::xAxis(-1.0f))*Matrix4::scaling(Vector3::xScale(2.0f)), MeshTools::transformPointsInPlace(Matrix4::translation(Vector3::xAxis(-1.0f))*Matrix4::scaling(Vector3::xScale(2.0f)),
line.mutableAttribute<Vector3>(Trade::MeshAttribute::Position)); line.mutableAttribute<Vector3>(Trade::MeshAttribute::Position));
return {std::move(line), "line3d.png"}; return {std::move(line), "line3d.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::planeWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::planeWireframe() {
return {Primitives::planeWireframe(), "planewireframe.png"}; return {Primitives::planeWireframe(), "planewireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::uvSphereWireframe() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::uvSphereWireframe() {
return {Primitives::uvSphereWireframe(16, 32), "uvspherewireframe.png"}; return {Primitives::uvSphereWireframe(16, 32), "uvspherewireframe.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::circle2DSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::circle2DSolid() {
return {Primitives::circle2DSolid(16), "circle2dsolid.png"}; return {Primitives::circle2DSolid(16), "circle2dsolid.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::squareSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::squareSolid() {
return {Primitives::squareSolid(), "squaresolid.png"}; return {Primitives::squareSolid(), "squaresolid.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::capsule3DSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::capsule3DSolid() {
Trade::MeshData capsule = Primitives::capsule3DSolid(4, 1, 12, 0.75f); Trade::MeshData capsule = Primitives::capsule3DSolid(4, 1, 12, 0.75f);
MeshTools::transformPointsInPlace(Matrix4::scaling(Vector3{0.75f}), MeshTools::transformPointsInPlace(Matrix4::scaling(Vector3{0.75f}),
capsule.mutableAttribute<Vector3>(Trade::MeshAttribute::Position)); capsule.mutableAttribute<Vector3>(Trade::MeshAttribute::Position));
return {std::move(capsule), "capsule3dsolid.png"}; return {std::move(capsule), "capsule3dsolid.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::circle3DSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::circle3DSolid() {
return {Primitives::circle3DSolid(16), "circle3dsolid.png"}; return {Primitives::circle3DSolid(16), "circle3dsolid.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::coneSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::coneSolid() {
return {Primitives::coneSolid(1, 12, 1.25f, Primitives::ConeFlag::CapEnd), "conesolid.png"}; return {Primitives::coneSolid(1, 12, 1.25f, Primitives::ConeFlag::CapEnd), "conesolid.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::cubeSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::cubeSolid() {
return {Primitives::cubeSolid(), "cubesolid.png"}; return {Primitives::cubeSolid(), "cubesolid.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::cylinderSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::cylinderSolid() {
return {Primitives::cylinderSolid(1, 12, 1.0f, Primitives::CylinderFlag::CapEnds), "cylindersolid.png"}; return {Primitives::cylinderSolid(1, 12, 1.0f, Primitives::CylinderFlag::CapEnds), "cylindersolid.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::grid3DSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::grid3DSolid() {
return {Primitives::grid3DSolid({5, 3}), "grid3dsolid.png"}; return {Primitives::grid3DSolid({5, 3}), "grid3dsolid.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::icosphereSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::icosphereSolid() {
return {Primitives::icosphereSolid(1), "icospheresolid.png"}; return {Primitives::icosphereSolid(1), "icospheresolid.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::planeSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::planeSolid() {
return {Primitives::planeSolid(), "planesolid.png"}; return {Primitives::planeSolid(), "planesolid.png"};
} }
std::pair<Trade::MeshData, std::string> PrimitiveVisualizer::uvSphereSolid() { std::pair<Trade::MeshData, Containers::StringView> PrimitiveVisualizer::uvSphereSolid() {
return {Primitives::uvSphereSolid(8, 16), "uvspheresolid.png"}; return {Primitives::uvSphereSolid(8, 16), "uvspheresolid.png"};
} }

40
doc/generated/shaders.cpp

@ -25,7 +25,7 @@
#include <Corrade/Containers/ArrayViewStl.h> #include <Corrade/Containers/ArrayViewStl.h>
#include <Corrade/Containers/Optional.h> #include <Corrade/Containers/Optional.h>
#include <Corrade/Containers/StringStl.h> #include <Corrade/Containers/String.h>
#include <Corrade/PluginManager/Manager.h> #include <Corrade/PluginManager/Manager.h>
#include <Corrade/Utility/Path.h> #include <Corrade/Utility/Path.h>
@ -79,16 +79,16 @@ struct ShaderVisualizer: Platform::WindowlessApplication {
int exec() override; int exec() override;
std::string phong(); Containers::StringView phong();
std::string meshVisualizer2D(); Containers::StringView meshVisualizer2D();
std::string meshVisualizer2DPrimitiveId(); Containers::StringView meshVisualizer2DPrimitiveId();
std::string meshVisualizer3D(); Containers::StringView meshVisualizer3D();
std::string meshVisualizer3DPrimitiveId(); Containers::StringView meshVisualizer3DPrimitiveId();
std::string flat(); Containers::StringView flat();
std::string vertexColor(); Containers::StringView vertexColor();
std::string vector(); Containers::StringView vector();
std::string distanceFieldVector(); Containers::StringView distanceFieldVector();
Containers::Pointer<Trade::AbstractImporter> _importer; Containers::Pointer<Trade::AbstractImporter> _importer;
}; };
@ -142,7 +142,7 @@ int ShaderVisualizer::exec() {
&ShaderVisualizer::distanceFieldVector}) { &ShaderVisualizer::distanceFieldVector}) {
multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth); multisampleFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth);
std::string filename = (this->*fun)(); Containers::StringView filename = (this->*fun)();
GL::AbstractFramebuffer::blit(multisampleFramebuffer, framebuffer, framebuffer.viewport(), GL::FramebufferBlit::Color); GL::AbstractFramebuffer::blit(multisampleFramebuffer, framebuffer, framebuffer.viewport(), GL::FramebufferBlit::Color);
Image2D result = framebuffer.read(framebuffer.viewport(), {PixelFormat::RGBA8Unorm}); Image2D result = framebuffer.read(framebuffer.viewport(), {PixelFormat::RGBA8Unorm});
@ -161,7 +161,7 @@ namespace {
const auto OutlineColor = 0xdcdcdc_srgbf; const auto OutlineColor = 0xdcdcdc_srgbf;
} }
std::string ShaderVisualizer::phong() { Containers::StringView ShaderVisualizer::phong() {
Shaders::PhongGL{} Shaders::PhongGL{}
.setAmbientColor(0x22272e_srgbf) .setAmbientColor(0x22272e_srgbf)
.setDiffuseColor(BaseColor) .setDiffuseColor(BaseColor)
@ -175,7 +175,7 @@ std::string ShaderVisualizer::phong() {
return "phong.png"; return "phong.png";
} }
std::string ShaderVisualizer::meshVisualizer2D() { Containers::StringView ShaderVisualizer::meshVisualizer2D() {
const Matrix3 projection = const Matrix3 projection =
Matrix3::projection(Vector2{3.0f})* Matrix3::projection(Vector2{3.0f})*
Matrix3::rotation(13.7_degf); Matrix3::rotation(13.7_degf);
@ -193,7 +193,7 @@ std::string ShaderVisualizer::meshVisualizer2D() {
return "meshvisualizer2d.png"; return "meshvisualizer2d.png";
} }
std::string ShaderVisualizer::meshVisualizer2DPrimitiveId() { Containers::StringView ShaderVisualizer::meshVisualizer2DPrimitiveId() {
const Matrix3 projection = const Matrix3 projection =
Matrix3::projection(Vector2{3.0f})* Matrix3::projection(Vector2{3.0f})*
Matrix3::rotation(13.7_degf); Matrix3::rotation(13.7_degf);
@ -219,7 +219,7 @@ std::string ShaderVisualizer::meshVisualizer2DPrimitiveId() {
return "meshvisualizer2d-primitiveid.png"; return "meshvisualizer2d-primitiveid.png";
} }
std::string ShaderVisualizer::meshVisualizer3D() { Containers::StringView ShaderVisualizer::meshVisualizer3D() {
const Matrix4 transformation = Transformation* const Matrix4 transformation = Transformation*
Matrix4::rotationZ(13.7_degf)* Matrix4::rotationZ(13.7_degf)*
Matrix4::rotationX(-12.6_degf); Matrix4::rotationX(-12.6_degf);
@ -244,7 +244,7 @@ std::string ShaderVisualizer::meshVisualizer3D() {
return "meshvisualizer3d.png"; return "meshvisualizer3d.png";
} }
std::string ShaderVisualizer::meshVisualizer3DPrimitiveId() { Containers::StringView ShaderVisualizer::meshVisualizer3DPrimitiveId() {
const Matrix4 transformation = Transformation* const Matrix4 transformation = Transformation*
Matrix4::rotationZ(13.7_degf)* Matrix4::rotationZ(13.7_degf)*
Matrix4::rotationX(-12.6_degf); Matrix4::rotationX(-12.6_degf);
@ -271,7 +271,7 @@ std::string ShaderVisualizer::meshVisualizer3DPrimitiveId() {
return "meshvisualizer3d-primitiveid.png"; return "meshvisualizer3d-primitiveid.png";
} }
std::string ShaderVisualizer::flat() { Containers::StringView ShaderVisualizer::flat() {
Shaders::FlatGL3D{} Shaders::FlatGL3D{}
.setColor(BaseColor) .setColor(BaseColor)
.setTransformationProjectionMatrix(Projection*Transformation) .setTransformationProjectionMatrix(Projection*Transformation)
@ -280,7 +280,7 @@ std::string ShaderVisualizer::flat() {
return "flat.png"; return "flat.png";
} }
std::string ShaderVisualizer::vertexColor() { Containers::StringView ShaderVisualizer::vertexColor() {
Trade::MeshData sphere = Primitives::uvSphereSolid(32, 64); Trade::MeshData sphere = Primitives::uvSphereSolid(32, 64);
/* Add a color attribute */ /* Add a color attribute */
@ -303,7 +303,7 @@ std::string ShaderVisualizer::vertexColor() {
return "vertexcolor.png"; return "vertexcolor.png";
} }
std::string ShaderVisualizer::vector() { Containers::StringView ShaderVisualizer::vector() {
Containers::Optional<Trade::ImageData2D> image; Containers::Optional<Trade::ImageData2D> image;
if(!_importer->openFile("vector.png") || !(image = _importer->image2D(0))) { if(!_importer->openFile("vector.png") || !(image = _importer->image2D(0))) {
Error() << "Cannot open vector.png"; Error() << "Cannot open vector.png";
@ -332,7 +332,7 @@ std::string ShaderVisualizer::vector() {
return "vector.png"; return "vector.png";
} }
std::string ShaderVisualizer::distanceFieldVector() { Containers::StringView ShaderVisualizer::distanceFieldVector() {
Containers::Optional<Trade::ImageData2D> image; Containers::Optional<Trade::ImageData2D> image;
if(!_importer->openFile("vector-distancefield.png") || !(image = _importer->image2D(0))) { if(!_importer->openFile("vector-distancefield.png") || !(image = _importer->image2D(0))) {
Error() << "Cannot open vector-distancefield.png"; Error() << "Cannot open vector-distancefield.png";

Loading…
Cancel
Save