Magnum::Shaders::LineGL::Configuration class

Configuration.

Public functions

auto flags() const -> Flags
Flags.
auto setFlags(Flags flags) -> Configuration&
Set flags.
auto capStyle() const -> LineCapStyle
Cap style.
auto setCapStyle(LineCapStyle style) -> Configuration&
Set cap style.
auto joinStyle() const -> LineJoinStyle
Join style.
auto setJoinStyle(LineJoinStyle style) -> Configuration&
Set join style.
auto materialCount() const -> UnsignedInt
Material count.
auto setMaterialCount(UnsignedInt count) -> Configuration&
Set material count.
auto drawCount() const -> UnsignedInt
Draw count.
auto setDrawCount(UnsignedInt count) -> Configuration&
Set draw count.

Function documentation

Configuration& Magnum::Shaders::LineGL::Configuration::setFlags(Flags flags)

Set flags.

No flags are set by default.

Configuration& Magnum::Shaders::LineGL::Configuration::setCapStyle(LineCapStyle style)

Set cap style.

Unlike for example the SVG specification that uses LineCapStyle::Butt by default, the default value is LineCapStyle::Square, in order to make zero-length lines visible.

Configuration& Magnum::Shaders::LineGL::Configuration::setJoinStyle(LineJoinStyle style)

Set join style.

Default value is LineJoinStyle::Miter, consistently with the SVG specification.

Configuration& Magnum::Shaders::LineGL::Configuration::setMaterialCount(UnsignedInt count)

Set material count.

If Flag::UniformBuffers is set, describes size of a LineMaterialUniform buffer bound with bindMaterialBuffer(). Uniform buffers have a statically defined size and count*sizeof(LineMaterialUniform) has to be within GL::AbstractShaderProgram::maxUniformBlockSize(), if Flag::ShaderStorageBuffers is set as well, the buffer is unbounded and count is ignored. The per-draw materials are specified via LineDrawUniform::materialId. Default value is 1.

If Flag::UniformBuffers isn't set, this value is ignored.

Configuration& Magnum::Shaders::LineGL::Configuration::setDrawCount(UnsignedInt count)

Set draw count.

If Flag::UniformBuffers is set, describes size of a TransformationProjectionUniform2D / TransformationProjectionUniform3D / LineDrawUniform buffer bound with bindTransformationProjectionBuffer() and bindDrawBuffer(). Uniform buffers have a statically defined size and the maximum of count*sizeof(TransformationProjectionUniform2D) / count*sizeof(TransformationProjectionUniform3D) and count*sizeof(LineDrawUniform) has to be within GL::AbstractShaderProgram::maxUniformBlockSize(), if Flag::ShaderStorageBuffers is set as well, the buffers are unbounded and count is ignored. The draw offset is set via setDrawOffset(). Default value is 1.

If Flag::UniformBuffers isn't set, this value is ignored.