Public Member Functions | Public Attributes | Static Public Attributes | List of all members
cpp3ds::RenderStates Class Reference

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 Texturetexture
 Texture. More...
 
const Shadershader
 Shader. More...
 

Static Public Attributes

static const RenderStates Default
 Special instance holding the default render states. More...
 

Detailed Description

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.

window.Draw(sprite);

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.

window.draw(sprite, shader);

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.

See also
cpp3ds::RenderTarget, cpp3ds::Drawable

Definition at line 44 of file RenderStates.hpp.

Constructor & Destructor Documentation

cpp3ds::RenderStates::RenderStates ( )

Default constructor.

Constructing a default set of render states is equivalent to using cpp3ds::RenderStates::Default. The default set defines:

  • the BlendAlpha blend mode
  • the identity transform
  • a null texture
  • a null shader
cpp3ds::RenderStates::RenderStates ( const BlendMode theBlendMode)

Construct a default set of render states with a custom blend mode.

Parameters
theBlendModeBlend mode to use
cpp3ds::RenderStates::RenderStates ( const Transform theTransform)

Construct a default set of render states with a custom transform.

Parameters
theTransformTransform to use
cpp3ds::RenderStates::RenderStates ( const Texture theTexture)

Construct a default set of render states with a custom texture.

Parameters
theTextureTexture to use
cpp3ds::RenderStates::RenderStates ( const Shader theShader)

Construct a default set of render states with a custom shader.

Parameters
theShaderShader to use
cpp3ds::RenderStates::RenderStates ( const BlendMode theBlendMode,
const Transform theTransform,
const Texture theTexture,
const Shader theShader 
)

Construct a set of render states with all its attributes.

Parameters
theBlendModeBlend mode to use
theTransformTransform to use
theTextureTexture to use
theShaderShader to use

Member Data Documentation

BlendMode cpp3ds::RenderStates::blendMode

Blending mode.

Definition at line 114 of file RenderStates.hpp.

const RenderStates cpp3ds::RenderStates::Default
static

Special instance holding the default render states.

Definition at line 109 of file RenderStates.hpp.

const Shader* cpp3ds::RenderStates::shader

Shader.

Definition at line 117 of file RenderStates.hpp.

const Texture* cpp3ds::RenderStates::texture

Texture.

Definition at line 116 of file RenderStates.hpp.

Transform cpp3ds::RenderStates::transform

Transform.

Definition at line 115 of file RenderStates.hpp.


The documentation for this class was generated from the following file: