Magnum::Shaders::DistanceFieldVectorDrawUniform struct new in Git master

Per-draw uniform for distance field vector shaders.

Together with the generic TransformationProjectionUniform2D / TransformationProjectionUniform3D contains parameters that are specific to each draw call. Texture transformation, if needed, is supplied separately in a TextureTransformationUniform; material-related properties are expected to be shared among multiple draw calls and thus are provided in a separate DistanceFieldVectorMaterialUniform structure, referenced by materialId.

Constructors, destructors, conversion operators

DistanceFieldVectorDrawUniform(DefaultInitT = DefaultInit) explicit constexpr noexcept
Construct with default parameters.
DistanceFieldVectorDrawUniform(NoInitT) explicit noexcept
Construct without initializing the contents.

Public variables

UnsignedShort materialId
Material ID.

Convenience setters

Provided to allow the use of method chaining for populating a structure in a single expression, otherwise equivalent to accessing the fields directly. Also guaranteed to provide backwards compatibility when packing of the actual fields changes.

auto setMaterialId(UnsignedInt id) -> DistanceFieldVectorDrawUniform&
Set the materialId field.

Function documentation

DistanceFieldVectorDrawUniform& Magnum::Shaders::DistanceFieldVectorDrawUniform::setMaterialId(UnsignedInt id)

Set the materialId field.

Returns Reference to self (for method chaining)

Variable documentation

UnsignedShort Magnum::Shaders::DistanceFieldVectorDrawUniform::materialId

Material ID.

References a particular material from a DistanceFieldVectorMaterialUniform array. Useful when an UBO with more than one material is supplied or in a multi-draw scenario. Should be less than the material count passed to the DistanceFieldVectorGL::DistanceFieldVectorGL(Flags, UnsignedInt, UnsignedInt) constructor, if material count is 1, this field is assumed to be 0 and isn't even read by the shader. Default value is 0, meaning the first material gets used.