Castor3D  ..
Types publics | Fonctions membres publiques | Attributs publics | Attributs publics statiques | Fonctions membres protégées | Attributs protégés | Amis | Liste de tous les membres
Référence de la classe Castor3D::Pipelineabstract

Implementation of the rendering pipeline. Plus de détails...

+ Graphe de collaboration de Castor3D::Pipeline:

Types publics

typedef Castor::Matrix4x4r matrix4x4
 
typedef Castor::Matrix3x3r matrix3x3
 

Fonctions membres publiques

virtual ~Pipeline ()
 
virtual void Initialise ()=0
 
virtual void UpdateFunctions (Castor3D::ShaderProgramBase *p_pProgram)=0
 
void SetImpl (IPipelineImpl *p_pImpl)
 
RenderSystemGetRenderSystem () const
 
void SetRenderSystem (RenderSystem *val)
 
IPipelineImplGetImpl () const
 
matrix4x4 const & GetMatrix (eMTXMODE p_eMode) const
 
matrix4x4GetMatrix (eMTXMODE p_eMode)
 
eMTXMODE MatrixMode (eMTXMODE p_eMode)
 
bool LoadIdentity ()
 
bool PushMatrix ()
 
bool PopMatrix ()
 
bool Translate (Castor::Point3r const &p_translate)
 
bool Rotate (Castor::Quaternion const &p_rotate)
 
bool Scale (Castor::Point3r const &p_scale)
 
bool MultMatrix (Castor::Matrix4x4r const &p_matrix)
 
bool MultMatrix (real const *p_matrix)
 
bool Perspective (Castor::Angle const &p_aFOVY, real p_rRatio, real p_rNear, real p_rFar)
 
bool Frustum (real p_rLeft, real p_rRight, real p_rBottom, real p_rTop, real p_rNear, real p_rFar)
 
bool Ortho (real p_rLeft, real p_rRight, real p_rBottom, real p_rTop, real p_rNear, real p_rFar)
 
bool Project (Castor::Point3r const &p_ptObj, Castor::Point4r const &p_ptViewport, Castor::Point3r &p_ptResult)
 
bool UnProject (Castor::Point3i const &p_ptWin, Castor::Point4r const &p_ptViewport, Castor::Point3r &p_ptResult)
 
bool PickMatrix (real x, real y, real width, real height, int viewport[4])
 
void ApplyProjection (ShaderProgramBase &p_program)
 
void ApplyModel (ShaderProgramBase &p_program)
 
void ApplyView (ShaderProgramBase &p_program)
 
void ApplyNormal (ShaderProgramBase &p_program)
 
void ApplyModelView (ShaderProgramBase &p_program)
 
void ApplyProjectionView (ShaderProgramBase &p_program)
 
void ApplyProjectionModelView (ShaderProgramBase &p_program)
 
void ApplyTexture0 (ShaderProgramBase &p_program)
 
void ApplyTexture1 (ShaderProgramBase &p_program)
 
void ApplyTexture2 (ShaderProgramBase &p_program)
 
void ApplyTexture3 (ShaderProgramBase &p_program)
 
void ApplyMatrices (ShaderProgramBase &p_program)
 
void ApplyViewport (int p_iWindowWidth, int p_iWindowHeight)
 

Attributs publics

matrix4x4 m_mtxIdentity
 

Attributs publics statiques

static const Castor::String MtxProjection
 
static const Castor::String MtxModel
 
static const Castor::String MtxView
 
static const Castor::String MtxModelView
 
static const Castor::String MtxProjectionView
 
static const Castor::String MtxProjectionModelView
 
static const Castor::String MtxNormal
 
static const Castor::String MtxTexture0
 
static const Castor::String MtxTexture1
 
static const Castor::String MtxTexture2
 
static const Castor::String MtxTexture3
 
static const Castor::String MtxBones
 

Fonctions membres protégées

 Pipeline (RenderSystem *p_pRenderSystem)
 

Attributs protégés

matrix4x4 m_matTmp
 
MatrixStack m_matrix [eMTXMODE_COUNT]
 
matrix4x4 m_mtxModelView
 
matrix4x4 m_mtxProjectionView
 
matrix4x4 m_mtxProjectionModelView
 
matrix4x4 m_mtxNormal
 
eMTXMODE m_eCurrentMode
 
RenderSystemm_pRenderSystem
 
IPipelineImplm_pPipelineImpl
 
ShaderObjectSet m_setShaders [eMTXMODE_COUNT]
 
ShaderObjectSet m_setNmlShaders
 
ShaderObjectSet m_setMVShaders
 
ShaderObjectSet m_setPMVShaders
 

Amis

class IPipelineImpl
 

Description détaillée

Implementation of the rendering pipeline.

Defines the various matrices, applies the numerous transformation it can support and applies them

Auteur
Sylvain DOREMUS
Version
0.6.1.0
Date
03/01/2011

Documentation des définitions de type membres

typedef Castor::Matrix3x3r Castor3D::Pipeline::matrix3x3
typedef Castor::Matrix4x4r Castor3D::Pipeline::matrix4x4

Documentation des constructeurs et destructeur

Castor3D::Pipeline::Pipeline ( RenderSystem p_pRenderSystem)
protected
virtual Castor3D::Pipeline::~Pipeline ( )
virtual

Documentation des fonctions membres

void Castor3D::Pipeline::ApplyMatrices ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyModel ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyModelView ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyNormal ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyProjection ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyProjectionModelView ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyProjectionView ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyTexture0 ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyTexture1 ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyTexture2 ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyTexture3 ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyView ( ShaderProgramBase p_program)
void Castor3D::Pipeline::ApplyViewport ( int  p_iWindowWidth,
int  p_iWindowHeight 
)
bool Castor3D::Pipeline::Frustum ( real  p_rLeft,
real  p_rRight,
real  p_rBottom,
real  p_rTop,
real  p_rNear,
real  p_rFar 
)
IPipelineImpl* Castor3D::Pipeline::GetImpl ( ) const
inline
matrix4x4 const& Castor3D::Pipeline::GetMatrix ( eMTXMODE  p_eMode) const
matrix4x4& Castor3D::Pipeline::GetMatrix ( eMTXMODE  p_eMode)
RenderSystem* Castor3D::Pipeline::GetRenderSystem ( ) const
inline
virtual void Castor3D::Pipeline::Initialise ( )
pure virtual
bool Castor3D::Pipeline::LoadIdentity ( )
eMTXMODE Castor3D::Pipeline::MatrixMode ( eMTXMODE  p_eMode)
bool Castor3D::Pipeline::MultMatrix ( Castor::Matrix4x4r const &  p_matrix)
bool Castor3D::Pipeline::MultMatrix ( real const *  p_matrix)
bool Castor3D::Pipeline::Ortho ( real  p_rLeft,
real  p_rRight,
real  p_rBottom,
real  p_rTop,
real  p_rNear,
real  p_rFar 
)
bool Castor3D::Pipeline::Perspective ( Castor::Angle const &  p_aFOVY,
real  p_rRatio,
real  p_rNear,
real  p_rFar 
)
bool Castor3D::Pipeline::PickMatrix ( real  x,
real  y,
real  width,
real  height,
int  viewport[4] 
)
bool Castor3D::Pipeline::PopMatrix ( )
bool Castor3D::Pipeline::Project ( Castor::Point3r const &  p_ptObj,
Castor::Point4r const &  p_ptViewport,
Castor::Point3r &  p_ptResult 
)
bool Castor3D::Pipeline::PushMatrix ( )
bool Castor3D::Pipeline::Rotate ( Castor::Quaternion const &  p_rotate)
bool Castor3D::Pipeline::Scale ( Castor::Point3r const &  p_scale)
void Castor3D::Pipeline::SetImpl ( IPipelineImpl p_pImpl)
inline
void Castor3D::Pipeline::SetRenderSystem ( RenderSystem val)
inline
bool Castor3D::Pipeline::Translate ( Castor::Point3r const &  p_translate)
bool Castor3D::Pipeline::UnProject ( Castor::Point3i const &  p_ptWin,
Castor::Point4r const &  p_ptViewport,
Castor::Point3r &  p_ptResult 
)
virtual void Castor3D::Pipeline::UpdateFunctions ( Castor3D::ShaderProgramBase p_pProgram)
pure virtual

Documentation des fonctions amies et associées

friend class IPipelineImpl
friend

Documentation des données membres

eMTXMODE Castor3D::Pipeline::m_eCurrentMode
protected
MatrixStack Castor3D::Pipeline::m_matrix[eMTXMODE_COUNT]
protected
matrix4x4 Castor3D::Pipeline::m_matTmp
protected
matrix4x4 Castor3D::Pipeline::m_mtxIdentity
matrix4x4 Castor3D::Pipeline::m_mtxModelView
protected
matrix4x4 Castor3D::Pipeline::m_mtxNormal
protected
matrix4x4 Castor3D::Pipeline::m_mtxProjectionModelView
protected
matrix4x4 Castor3D::Pipeline::m_mtxProjectionView
protected
IPipelineImpl* Castor3D::Pipeline::m_pPipelineImpl
protected
RenderSystem* Castor3D::Pipeline::m_pRenderSystem
protected
ShaderObjectSet Castor3D::Pipeline::m_setMVShaders
protected
ShaderObjectSet Castor3D::Pipeline::m_setNmlShaders
protected
ShaderObjectSet Castor3D::Pipeline::m_setPMVShaders
protected
ShaderObjectSet Castor3D::Pipeline::m_setShaders[eMTXMODE_COUNT]
protected
const Castor::String Castor3D::Pipeline::MtxBones
static
const Castor::String Castor3D::Pipeline::MtxModel
static
const Castor::String Castor3D::Pipeline::MtxModelView
static
const Castor::String Castor3D::Pipeline::MtxNormal
static
const Castor::String Castor3D::Pipeline::MtxProjection
static
const Castor::String Castor3D::Pipeline::MtxProjectionModelView
static
const Castor::String Castor3D::Pipeline::MtxProjectionView
static
const Castor::String Castor3D::Pipeline::MtxTexture0
static
const Castor::String Castor3D::Pipeline::MtxTexture1
static
const Castor::String Castor3D::Pipeline::MtxTexture2
static
const Castor::String Castor3D::Pipeline::MtxTexture3
static
const Castor::String Castor3D::Pipeline::MtxView
static

La documentation de cette classe a été générée à partir du fichier suivant :