Public Member Functions | Static Public Attributes | Protected Member Functions

xl7::direct3d::rendering::Pass Class Reference

#include <Pass.h>

Inheritance diagram for xl7::direct3d::rendering::Pass:
xl7::direct3d::rendering::IRenderable xl7::direct3d::rendering::IStateChanger xl7::direct3d::rendering::PipelinePass xl7::direct3d::rendering::ShaderPass gl7::repository::pass::ComicStylePass gl7::repository::pass::DepthMapPass gl7::repository::pass::EdgeFilterPass gl7::repository::pass::NormalDepthMapPass gl7::repository::pass::NormalMapPass gl7::repository::pass::ShadowMapPass gl7::repository::pass::TexturedPass gl7::repository::pass::TexturedPhongPass

List of all members.

Public Member Functions

 Pass (const cl7::string_type &name, Effect *effect, const cl7::string_type &render_target_identifier=STANDARD, const cl7::string_type &depth_stencil_identifier=STANDARD)
virtual ~Pass (void)
const cl7::string_typeGetName () const
const EffectGetEffect () const
const ChainGetChain () const
const cl7::string_typeGetRenderTargetIdentifier () const
const cl7::string_typeGetDepthStencilIdentifier () const
bool GetClearRenderTarget () const
bool GetClearDepthStencil () const
D3DCOLOR GetClearColor () const
float GetClearZValue () const
unsigned long GetClearStencilValue () const
bool IsPostSurfacePass () const
const scene::SceneGraphGetSurfaceSceneGraph () const
EffectGetEffect ()
ChainGetChain ()
void SetClearRenderTarget (bool clear_render_target)
void SetClearDepthStencil (bool clear_depth_stencil)
void SetClearColor (D3DCOLOR clear_color)
void SetClearZValue (float clear_z_value)
void SetClearStencilValue (unsigned long clear_stencil_value)
void SetClearBackBuffers (bool clear_render_target, bool clear_depth_stencil)
void SetClearBackBuffers (bool clear_render_target, bool clear_depth_stencil, D3DCOLOR clear_color, float clear_z_value, unsigned long clear_stencil_value)
void SetClearRenderTarget (bool clear_render_target, D3DCOLOR clear_color)
void SetClearDepthStencil (bool clear_depth_stencil, float clear_z_value, unsigned long clear_stencil_value)
void SetPostSurfacePass (bool post_surface_pass)
scene::SceneGraphGetSurfaceSceneGraph ()
bool Render (scene::SceneGraph *scene_graph)
bool InduceTransformChange (const ml7::Matrix4x4 *transform)
bool InduceViewChange (const ml7::Matrix4x4 *view)
bool InduceProjectionChange (const ml7::Matrix4x4 *projection)
bool InduceFVFChange (unsigned long fvf)
bool InduceLightChange (const lights::Light *light)
bool InduceMaterialChange (const materials::Material *material)
bool InduceTextureChange (unsigned stage, const textures::BaseTexture *texture)
bool CommitStateChanges ()

Static Public Attributes

static const cl7::string_type DEFAULT
static const cl7::string_type STANDARD
static const cl7::string_type LAST_USED

Protected Member Functions

const ml7::Matrix4x4GetCurrentTransform () const
const ml7::Matrix4x4GetCurrentView () const
const ml7::Matrix4x4GetCurrentProjection () const
unsigned long GetCurrentFVF () const
const lights::LightGetCurrentLight () const
const materials::MaterialGetCurrentMaterial () const
const textures::BaseTextureGetCurrentTexture (unsigned stage) const
const ml7::Matrix4x4 GetCurrentWorldViewProjection () const
const ml7::Matrix4x4 GetCurrentWorldView () const
const ml7::Vector3 GetCurrentViewPosition () const
const ml7::Vector3 GetCurrentViewDirection () const
bool IsTransformDirty () const
bool IsViewDirty () const
bool IsProjectionDirty () const
bool IsFVFDirty () const
bool IsLightDirty () const
bool IsMaterialDirty () const
bool IsTextureDirty (unsigned stage) const
unsigned GetMaxTextures () const

Detailed Description

Represents a pass within an effect covering a step of the chain representing the whole rendering process of the current scene.


Constructor & Destructor Documentation

xl7::direct3d::rendering::Pass::Pass ( const cl7::string_type name,
Effect effect,
const cl7::string_type render_target_identifier = STANDARD,
const cl7::string_type depth_stencil_identifier = STANDARD 
)

Explicit constructor.

xl7::direct3d::rendering::Pass::~Pass ( void   )  [virtual]

Destructor.


Member Function Documentation

bool xl7::direct3d::rendering::Pass::CommitStateChanges (  )  [virtual]

Performs all necessary actions for the state changes induced. Returns true, if the state changes have successfully been committed.

Implements xl7::direct3d::rendering::IStateChanger.

const Chain* xl7::direct3d::rendering::Pass::GetChain (  )  const [inline]

Returns the superior chain of this effect.

Chain* xl7::direct3d::rendering::Pass::GetChain (  )  [inline]

Returns the superior chain of this effect.

D3DCOLOR xl7::direct3d::rendering::Pass::GetClearColor (  )  const [inline]

Returns the color to clear the render-target surface with.

bool xl7::direct3d::rendering::Pass::GetClearDepthStencil (  )  const [inline]

Returns the flag indicating whether to clear the depth-stencil surface in the beginning of this pass.

bool xl7::direct3d::rendering::Pass::GetClearRenderTarget (  )  const [inline]

Returns the flag indicating whether to clear the render-target surface in the beginning of this pass.

unsigned long xl7::direct3d::rendering::Pass::GetClearStencilValue (  )  const [inline]

Returns the stencil-value to clear the depth-stencil surface with.

float xl7::direct3d::rendering::Pass::GetClearZValue (  )  const [inline]

Returns the z-value to clear the depth-stencil surface with.

unsigned long xl7::direct3d::rendering::Pass::GetCurrentFVF (  )  const [inline, protected]

Returns the currently set flexible vertex format.

const lights::Light* xl7::direct3d::rendering::Pass::GetCurrentLight (  )  const [inline, protected]

Returns the currently set light.

const materials::Material* xl7::direct3d::rendering::Pass::GetCurrentMaterial (  )  const [inline, protected]

Returns the currently set material.

const ml7::Matrix4x4* xl7::direct3d::rendering::Pass::GetCurrentProjection (  )  const [inline, protected]

Returns the currently set projection matrix.

const textures::BaseTexture* xl7::direct3d::rendering::Pass::GetCurrentTexture ( unsigned  stage  )  const [inline, protected]

Returns the currently set texture of the given stage.

const ml7::Matrix4x4* xl7::direct3d::rendering::Pass::GetCurrentTransform (  )  const [inline, protected]

Returns the currently set world transformation matrix.

const ml7::Matrix4x4* xl7::direct3d::rendering::Pass::GetCurrentView (  )  const [inline, protected]

Returns the currently set view matrix.

const ml7::Vector3 xl7::direct3d::rendering::Pass::GetCurrentViewDirection (  )  const [protected]

Returns the direction component of the currently set view matrix.

const ml7::Vector3 xl7::direct3d::rendering::Pass::GetCurrentViewPosition (  )  const [protected]

Returns the position component of the currently set view matrix.

const ml7::Matrix4x4 xl7::direct3d::rendering::Pass::GetCurrentWorldView (  )  const [protected]

Returns the world-view combination of the currently set matrices.

const ml7::Matrix4x4 xl7::direct3d::rendering::Pass::GetCurrentWorldViewProjection (  )  const [protected]

Returns the world-view-projection combination of the currently set matrices.

const cl7::string_type& xl7::direct3d::rendering::Pass::GetDepthStencilIdentifier (  )  const [inline]

Returns the identifier of the depth-stencil surface.

Effect* xl7::direct3d::rendering::Pass::GetEffect (  )  [inline]

Returns the superior effect of this pass.

const Effect* xl7::direct3d::rendering::Pass::GetEffect (  )  const [inline]

Returns the superior effect of this pass.

unsigned xl7::direct3d::rendering::Pass::GetMaxTextures (  )  const [inline, protected]

Returns the maximum number of texture stages.

const cl7::string_type& xl7::direct3d::rendering::Pass::GetName (  )  const [inline]

Returns the name of this pass.

const cl7::string_type& xl7::direct3d::rendering::Pass::GetRenderTargetIdentifier (  )  const [inline]

Returns the identifier of the render-target surface.

const scene::SceneGraph* xl7::direct3d::rendering::Pass::GetSurfaceSceneGraph (  )  const [inline]

Returns the scene graph to draw the contents of the surface of a previously used render-target texture (see IsPostSurfacePass).

scene::SceneGraph* xl7::direct3d::rendering::Pass::GetSurfaceSceneGraph (  )  [inline]

Returns the scene graph to draw the contents of the surface of a previously used render-target texture (see SetPostSurfacePass).

bool xl7::direct3d::rendering::Pass::InduceFVFChange ( unsigned long  fvf  )  [virtual]

Induces the action regarding the flexible vertex format change. Returns true, if the flexible vertex format has successfully been changed. Returns false, if the flexible vertex format either is up-to-date or cannot be changed.

Performs the action regarding the flexible vertex format change. Returns true, if the flexible vertex format has successfully been changed. Returns false, if the flexible vertex format either is up-to-date or cannot be changed.

Implements xl7::direct3d::rendering::IStateChanger.

bool xl7::direct3d::rendering::Pass::InduceLightChange ( const lights::Light light  )  [virtual]

Induces the action regarding the light change. Returns true, if the light has successfully been changed. Returns false, if the light either is up-to-date or cannot be changed.

Performs the action regarding the light change. Returns true, if the light has successfully been changed. Returns false, if the light either is up-to-date or cannot be changed.

Implements xl7::direct3d::rendering::IStateChanger.

bool xl7::direct3d::rendering::Pass::InduceMaterialChange ( const materials::Material material  )  [virtual]

Induces the action regarding the material change. Returns true, if the material has successfully been changed. Returns false, if the material either is up-to-date or cannot be changed.

Performs the action regarding the material change. Returns true, if the material has successfully been changed. Returns false, if the material either is up-to-date or cannot be changed.

Implements xl7::direct3d::rendering::IStateChanger.

bool xl7::direct3d::rendering::Pass::InduceProjectionChange ( const ml7::Matrix4x4 projection  )  [virtual]

Induces the action regarding the projection matrix change. Returns true, if the projection matrix has successfully been changed. Returns false, if the projection matrix either is up-to-date or cannot be changed.

Performs the action regarding the projection matrix change. Returns true, if the projection matrix has successfully been changed. Returns false, if the projection matrix either is up-to-date or cannot be changed.

Implements xl7::direct3d::rendering::IStateChanger.

bool xl7::direct3d::rendering::Pass::InduceTextureChange ( unsigned  stage,
const textures::BaseTexture texture 
) [virtual]

Induces the action regarding the texture change. Returns true, if the texture has successfully been changed. Returns false, if the texture either is up-to-date or cannot be changed.

Performs the action regarding the texture change. Returns true, if the texture has successfully been changed. Returns false, if the texture either is up-to-date or cannot be changed.

Implements xl7::direct3d::rendering::IStateChanger.

bool xl7::direct3d::rendering::Pass::InduceTransformChange ( const ml7::Matrix4x4 transform  )  [virtual]

Induces the action regarding the world transformation matrix change. Returns true, if the world transformation matrix has successfully been changed. Returns false, if the world transformation matrix either is up-to-date or cannot be changed.

Performs the action regarding the world transformation matrix change. Returns true, if the world transformation matrix has successfully been changed. Returns false, if the world transformation matrix either is up-to-date or cannot be changed.

Implements xl7::direct3d::rendering::IStateChanger.

bool xl7::direct3d::rendering::Pass::InduceViewChange ( const ml7::Matrix4x4 view  )  [virtual]

Induces the action regarding the view matrix change. Returns true, if the view matrix has successfully been changed. Returns false, if the view matrix either is up-to-date or cannot be changed.

Performs the action regarding the view matrix change. Returns true, if the view matrix has successfully been changed. Returns false, if the view matrix either is up-to-date or cannot be changed.

Implements xl7::direct3d::rendering::IStateChanger.

bool xl7::direct3d::rendering::Pass::IsFVFDirty (  )  const [inline, protected]

Returns the flag indicating whether the flexible vertex format has been changed.

bool xl7::direct3d::rendering::Pass::IsLightDirty (  )  const [inline, protected]

Returns the flag indicating whether the light has been changed.

bool xl7::direct3d::rendering::Pass::IsMaterialDirty (  )  const [inline, protected]

Returns the flag indicating whether the material has been changed.

bool xl7::direct3d::rendering::Pass::IsPostSurfacePass (  )  const [inline]

Returns the flag indicating whether this pass should use its own scene graph to draw the contents of the surface of a previously used render-target texture.

bool xl7::direct3d::rendering::Pass::IsProjectionDirty (  )  const [inline, protected]

Returns the flag indicating whether the projection matrix has been changed.

bool xl7::direct3d::rendering::Pass::IsTextureDirty ( unsigned  stage  )  const [inline, protected]

Returns the flag indicating whether the texture of the given has been changed.

bool xl7::direct3d::rendering::Pass::IsTransformDirty (  )  const [inline, protected]

Returns the flag indicating whether the world transformation matrix has been changed.

bool xl7::direct3d::rendering::Pass::IsViewDirty (  )  const [inline, protected]

Returns the flag indicating whether the view matrix has been changed.

bool xl7::direct3d::rendering::Pass::Render ( scene::SceneGraph scene_graph  ) 

Performs the complete rendering progress.

void xl7::direct3d::rendering::Pass::SetClearBackBuffers ( bool  clear_render_target,
bool  clear_depth_stencil,
D3DCOLOR  clear_color,
float  clear_z_value,
unsigned long  clear_stencil_value 
)

Sets the flags indicating whether to clear the back-buffer surfaces (render-target and depth-stencil) in the beginning of this pass with the given values (color, z-value, and stencil-value).

void xl7::direct3d::rendering::Pass::SetClearBackBuffers ( bool  clear_render_target,
bool  clear_depth_stencil 
)

Sets the flags indicating whether to clear the back-buffer surfaces (render-target and depth-stencil) in the beginning of this pass.

void xl7::direct3d::rendering::Pass::SetClearColor ( D3DCOLOR  clear_color  )  [inline]

Sets the color to clear the render-target surface with.

void xl7::direct3d::rendering::Pass::SetClearDepthStencil ( bool  clear_depth_stencil  )  [inline]

Sets the flag indicating whether to clear the depth-stencil surface in the beginning of this pass.

void xl7::direct3d::rendering::Pass::SetClearDepthStencil ( bool  clear_depth_stencil,
float  clear_z_value,
unsigned long  clear_stencil_value 
)

Sets the flag indicating whether to clear the depth-stencil surface with the given z-value and stencil-value.

void xl7::direct3d::rendering::Pass::SetClearRenderTarget ( bool  clear_render_target  )  [inline]

Sets the flag indicating whether to clear the render-target surface in the beginning of this pass.

void xl7::direct3d::rendering::Pass::SetClearRenderTarget ( bool  clear_render_target,
D3DCOLOR  clear_color 
)

Sets the flag indicating whether to clear the render-target surface with the given color.

void xl7::direct3d::rendering::Pass::SetClearStencilValue ( unsigned long  clear_stencil_value  )  [inline]

Sets the stencil-value to clear the depth-stencil surface with.

void xl7::direct3d::rendering::Pass::SetClearZValue ( float  clear_z_value  )  [inline]

Sets the z-value to clear the depth-stencil surface with.

void xl7::direct3d::rendering::Pass::SetPostSurfacePass ( bool  post_surface_pass  ) 

Sets the flag indicating whether this pass should use its own scene graph to draw the contents of the surface of a previously used render-target texture.


Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines