class new in Git master
#include <Magnum/Shaders/PhongGL.h>
Configuration Configuration.
Public functions
- auto flags() const -> Flags
- Flags.
- auto setFlags(Flags flags) -> Configuration&
- Set flags.
- auto lightCount() const -> UnsignedInt
- Light count.
- auto perDrawLightCount() const -> UnsignedInt
- Per-draw light count.
- auto setLightCount(UnsignedInt count, UnsignedInt perDrawCount) -> Configuration&
- Set light count.
- auto setLightCount(UnsignedInt count) -> Configuration&
- Set light count.
- auto jointCount() const -> UnsignedInt
- Joint count.
- auto perVertexJointCount() const -> UnsignedInt
- Per-vertex joint count.
- auto secondaryPerVertexJointCount() const -> UnsignedInt
- Secondary per-vertex joint count.
- auto setJointCount(UnsignedInt count, UnsignedInt perVertexCount, UnsignedInt secondaryPerVertexCount = 0) -> Configuration&
- Set joint count.
- 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:: PhongGL:: Configuration:: setFlags(Flags flags)
Set flags.
No flags are set by default.
Configuration& Magnum:: Shaders:: PhongGL:: Configuration:: setLightCount(UnsignedInt count,
UnsignedInt perDrawCount)
Set light count.
If Flag::count
corresponds to the range / array size accepted by setLightPosition() / setLightPositions(), setLightColor() / setLightColors(), setLightSpecularColor() / setLightSpecularColors() and setLightRange() / setLightRanges().
If Flag::count
describes size of a PhongLightUniform buffer bound with bindLightBuffer(). Uniform buffers have a statically defined size and count*sizeof(PhongLightUniform)
has to be within GL::count
is ignored. The per-draw lights are specified via PhongDrawUniform::
The perDrawCount
parameter describes how many lights out of count
get applied to each draw. Useful mainly in combination with Flag::perDrawCount
is expected to not be larger than count
. If set to 0
, no lighting calculations are performed and only the ambient contribution to the color is used. If perDrawCount
is 0
, count
is expected to be zero as well.
Default value is 1
for both.
Configuration& Magnum:: Shaders:: PhongGL:: Configuration:: setLightCount(UnsignedInt count)
Set light count.
Same as calling setLightCount(UnsignedInt, UnsignedInt) with both parameters set to count
.
UnsignedInt Magnum:: Shaders:: PhongGL:: Configuration:: jointCount() const
Joint count.
UnsignedInt Magnum:: Shaders:: PhongGL:: Configuration:: perVertexJointCount() const
Per-vertex joint count.
UnsignedInt Magnum:: Shaders:: PhongGL:: Configuration:: secondaryPerVertexJointCount() const
Secondary per-vertex joint count.
Configuration& Magnum:: Shaders:: PhongGL:: Configuration:: setJointCount(UnsignedInt count,
UnsignedInt perVertexCount,
UnsignedInt secondaryPerVertexCount = 0)
Set joint count.
If Flag::count
describes an upper bound on how many joint matrices get supplied to each draw with setJointMatrices() / setJointMatrix().
If Flag::count
describes size of a TransformationUniform3D buffer bound with bindJointBuffer(). Uniform buffers have a statically defined size and count*sizeof(TransformationUniform3D)
has to be within GL::count
is ignored. The per-vertex joints index into the array offset by PhongDrawUniform::
The perVertexCount
and secondaryPerVertexCount
parameters describe how many components are taken from JointIds / Weights and SecondaryJointIds / SecondaryWeights attributes. Both values are expected to not be larger than 4
, setting either of these to 0
means given attribute is not used at all. If both perVertexCount
and secondaryPerVertexCount
are set to 0
, skinning is not performed. Unless Flag::count
is expected to be non-zero as well.
Default value for all three is 0
.
UnsignedInt Magnum:: Shaders:: PhongGL:: Configuration:: materialCount() const
Material count.
Configuration& Magnum:: Shaders:: PhongGL:: Configuration:: setMaterialCount(UnsignedInt count)
Set material count.
If Flag::count*sizeof(PhongMaterialUniform)
has to be within GL::count
is ignored. The per-draw materials are specified via PhongDrawUniform::1
.
If Flag::
UnsignedInt Magnum:: Shaders:: PhongGL:: Configuration:: drawCount() const
Draw count.
Configuration& Magnum:: Shaders:: PhongGL:: Configuration:: setDrawCount(UnsignedInt count)
Set draw count.
If Flag::count*sizeof(TransformationUniform3D)
, count*sizeof(PhongDrawUniform)
and count*sizeof(TextureTransformationUniform)
has to be within GL::count
is ignored. The draw offset is set via setDrawOffset(). Default value is 1
.
If Flag::