MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ triangulate

bool MayaFlux::Portal::Graphics::RenderConfig::triangulate { false }

Reduce supplied spans to triangles before drawing them.

topology describes span ordering, not the pipeline: it is always built TRIANGLE_LIST, no geometry stage on any platform, and each span is milled into quads/ribbons before one draw. Applies to any span shape on any platform; macOS additionally forces it on for LINE_LIST/LINE_STRIP since line.geom (NDC expansion) isn't available there.

A custom vertex_shader is unchanged: same attributes, same transform to clip space. A custom fragment_shader needs one new thing: every span shares one fragment shader, so #include "include/mill_shape.glsl" and check mill_is_point(in_uv) to tell a point quad from a ribbon/passthrough-triangle fragment. milled_shape.frag/_textured/_multi are reference implementations (the multi variant's array index shares MillSpec's per-vertex size slot – set use_vertex_extent = false to decouple them).

Resolved at configuration time, not inferred from spans arriving, since shader/topology/geometry-stage selection happen here while spans arrive per frame.

Definition at line 359 of file GraphicsUtils.hpp.

359{ false };

Referenced by MayaFlux::Buffers::CompositeGeometryBuffer::add_geometry(), MayaFlux::Buffers::VKBuffer::apply_render_config(), MayaFlux::Mint::Impl::build(), MayaFlux::Portal::Forma::internal::Atelier::create_buffer(), MayaFlux::Buffers::FormaBuffer::setup_rendering(), MayaFlux::Buffers::GeometryBuffer::setup_rendering(), and MayaFlux::Buffers::InstanceNetworkBuffer::setup_rendering().