- cpp3ds
- RenderStates
Define the states used for drawing to a RenderTarget. More...
#include <RenderStates.hpp>
Public Member Functions | |
RenderStates () | |
Default constructor. More... | |
RenderStates (const BlendMode &theBlendMode) | |
Construct a default set of render states with a custom blend mode. More... | |
RenderStates (const Transform &theTransform) | |
Construct a default set of render states with a custom transform. More... | |
RenderStates (const Texture *theTexture) | |
Construct a default set of render states with a custom texture. More... | |
RenderStates (const Shader *theShader) | |
Construct a default set of render states with a custom shader. More... | |
RenderStates (const BlendMode &theBlendMode, const Transform &theTransform, const Texture *theTexture, const Shader *theShader) | |
Construct a set of render states with all its attributes. More... | |
Public Attributes | |
BlendMode | blendMode |
Blending mode. More... | |
Transform | transform |
Transform. More... | |
const Texture * | texture |
Texture. More... | |
const Shader * | shader |
Shader. More... | |
Static Public Attributes | |
static const RenderStates | Default |
Special instance holding the default render states. More... | |
Define the states used for drawing to a RenderTarget.
There are four global states that can be applied to the drawn objects:
High-level objects such as sprites or text force some of these states when they are drawn. For example, a sprite will set its own texture, so that you don't have to care about it when drawing the sprite.
The transform is a special case: sprites, texts and shapes (and it's a good idea to do it with your own drawable classes too) combine their transform with the one that is passed in the RenderStates structure. So that you can use a "global" transform on top of each object's transform.
Most objects, especially high-level drawables, can be drawn directly without defining render states explicitely – the default set of states is ok in most cases.
If you want to use a single specific render state, for example a shader, you can pass it directly to the Draw function: cpp3ds::RenderStates has an implicit one-argument constructor for each state.
When you're inside the Draw function of a drawable object (inherited from cpp3ds::Drawable), you can either pass the render states unmodified, or change some of them. For example, a transformable object will combine the current transform with its own transform. A sprite will set its texture. Etc.
Definition at line 44 of file RenderStates.hpp.
cpp3ds::RenderStates::RenderStates | ( | ) |
Default constructor.
Constructing a default set of render states is equivalent to using cpp3ds::RenderStates::Default. The default set defines:
cpp3ds::RenderStates::RenderStates | ( | const BlendMode & | theBlendMode | ) |
Construct a default set of render states with a custom blend mode.
theBlendMode | Blend mode to use |
cpp3ds::RenderStates::RenderStates | ( | const Transform & | theTransform | ) |
Construct a default set of render states with a custom transform.
theTransform | Transform to use |
cpp3ds::RenderStates::RenderStates | ( | const Texture * | theTexture | ) |
Construct a default set of render states with a custom texture.
theTexture | Texture to use |
cpp3ds::RenderStates::RenderStates | ( | const Shader * | theShader | ) |
Construct a default set of render states with a custom shader.
theShader | Shader to use |
BlendMode cpp3ds::RenderStates::blendMode |
Blending mode.
Definition at line 114 of file RenderStates.hpp.
|
static |
Special instance holding the default render states.
Definition at line 109 of file RenderStates.hpp.
const Shader* cpp3ds::RenderStates::shader |
Definition at line 117 of file RenderStates.hpp.
const Texture* cpp3ds::RenderStates::texture |
Definition at line 116 of file RenderStates.hpp.
Transform cpp3ds::RenderStates::transform |
Definition at line 115 of file RenderStates.hpp.