Configuration class new in Git master
#include <Magnum/Shaders/PhongGL.h>
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::