From cfa8604118dca6495c16dc06b3556fd83f5c80d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Tue, 7 Mar 2023 02:57:26 +0100 Subject: [PATCH] Shaders: add a "screenshot" for LineGL. OMG PRETTY!!! --- doc/generated/shaders.cpp | 41 ++++++++++++++++++++++++++++++++++++ doc/namespaces.dox | 11 +++++++--- doc/shaders-line.png | Bin 0 -> 74628 bytes src/Magnum/Shaders/LineGL.h | 2 ++ 4 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 doc/shaders-line.png diff --git a/doc/generated/shaders.cpp b/doc/generated/shaders.cpp index a56d1db99..8a30f4281 100644 --- a/doc/generated/shaders.cpp +++ b/doc/generated/shaders.cpp @@ -55,12 +55,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -80,6 +82,7 @@ struct ShaderVisualizer: Platform::WindowlessApplication { int exec() override; Containers::StringView phong(); + Containers::StringView line(); Containers::StringView meshVisualizer2D(); Containers::StringView meshVisualizer2DPrimitiveId(); Containers::StringView meshVisualizer3D(); @@ -132,6 +135,7 @@ int ShaderVisualizer::exec() { GL::Renderer::setClearColor(0x000000_srgbaf); for(auto fun: {&ShaderVisualizer::phong, + &ShaderVisualizer::line, &ShaderVisualizer::meshVisualizer2D, &ShaderVisualizer::meshVisualizer2DPrimitiveId, &ShaderVisualizer::meshVisualizer3D, @@ -175,6 +179,43 @@ Containers::StringView ShaderVisualizer::phong() { return "phong.png"; } +Containers::StringView ShaderVisualizer::line() { + struct Vertex { + Vector2 position; + Color3ub color; + }; + Containers::Array vertices{NoInit, 1024}; + const auto map = DebugTools::ColorMap::turbo(); + + for(std::size_t i = 0; i != vertices.size(); ++i) { + const Rad t{Constants::tau()*Float(i)/Float(vertices.size())}; + vertices[i].position = { + /* Original from https://www.quantamagazine.org/how-to-create-art-with-mathematics-20151008/ + Math::cos(t) + Math::cos(6*t)/2 + Math::sin(14*t)/3, + Math::sin(t) + Math::sin(6*t)/2 + Math::cos(14*t)/3 */ + Math::cos(t) + Math::cos(6*t)/3 + Math::sin(14*t)/3, + Math::sin(t) + Math::sin(6*t)/3 + Math::cos(14*t)/3 + }; + vertices[i].color = map[i/4]; + } + + Trade::MeshData mesh{MeshPrimitive::LineLoop, {}, vertices, { + Trade::MeshAttributeData{Trade::MeshAttribute::Position, stridedArrayView(vertices).slice(&Vertex::position)}, + Trade::MeshAttributeData{Trade::MeshAttribute::Color, stridedArrayView(vertices).slice(&Vertex::color)}, + }}; + + Shaders::LineGL2D shader{Shaders::LineGL2D::Configuration{} + .setFlags(Shaders::LineGL2D::Flag::VertexColor)}; + shader + .setTransformationProjectionMatrix(Matrix3::scaling(Vector2{0.5f})) + .setViewportSize(Vector2{ImageSize}) + .setWidth(5.0f) + .setSmoothness(1.0f) + .draw(MeshTools::compileLines(mesh)); + + return "line.png"; +} + Containers::StringView ShaderVisualizer::meshVisualizer2D() { const Matrix3 projection = Matrix3::projection(Vector2{3.0f})* diff --git a/doc/namespaces.dox b/doc/namespaces.dox index dcd811c35..99bbda915 100644 --- a/doc/namespaces.dox +++ b/doc/namespaces.dox @@ -685,19 +685,24 @@ See @ref building, @ref cmake and @ref shaders for more information. @parblock -@m_div{m-col-m-4 m-col-t-6 m-text-center m-nopadt m-nopadx} +@m_div{m-col-m-3 m-col-t-6 m-text-center m-nopadt m-nopadx} @image html shaders-flat.png width=256px @ref FlatGL @m_class{m-label m-success} **2D** @m_class{m-label m-primary} **3D** @m_enddiv -@m_div{m-col-m-4 m-col-t-6 m-text-center m-nopadt m-nopadx} +@m_div{m-col-m-3 m-col-t-6 m-text-center m-nopadt m-nopadx} @image html shaders-phong.png width=256px @ref PhongGL @m_class{m-label m-primary} **3D** @m_enddiv @m_div{m-clearfix-t} @m_enddiv -@m_div{m-col-m-4 m-push-t-3 m-push-m-0 m-col-t-6 m-text-center m-nopadt m-nopadx} +@m_div{m-col-m-3 m-col-t-6 m-text-center m-nopadt m-nopadx} +@image html shaders-line.png width=256px +@ref LineGL @m_class{m-label m-success} **2D** @m_class{m-label m-primary} **3D** +@m_enddiv + +@m_div{m-col-m-3 m-col-t-6 m-text-center m-nopadt m-nopadx} @image html shaders-vertexcolor.png width=256px @ref VertexColorGL @m_class{m-label m-success} **2D** @m_class{m-label m-primary} **3D** @m_enddiv diff --git a/doc/shaders-line.png b/doc/shaders-line.png new file mode 100644 index 0000000000000000000000000000000000000000..ee22444f8c94315fa36d08c28c32e7d95892e457 GIT binary patch literal 74628 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 literal 0 HcmV?d00001 diff --git a/src/Magnum/Shaders/LineGL.h b/src/Magnum/Shaders/LineGL.h index 0b1f002a2..14ed88293 100644 --- a/src/Magnum/Shaders/LineGL.h +++ b/src/Magnum/Shaders/LineGL.h @@ -68,6 +68,8 @@ Renders lines expanded to quads in screen space. Compared to builtin GPU line rendering, the lines can be of arbitrary width, with configurable join and cap styles, and antialiased independently of MSAA being used or not. +@image html shaders-line.png width=256px + @requires_gl30 Extension @gl_extension{EXT,gpu_shader4} @requires_gles30 Requires integer support in shaders which is not available in OpenGL ES 2.0.