Castor3D
..
|
Implementation of the rendering pipeline. Plus de détails...
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) |
RenderSystem * | GetRenderSystem () const |
void | SetRenderSystem (RenderSystem *val) |
IPipelineImpl * | GetImpl () const |
matrix4x4 const & | GetMatrix (eMTXMODE p_eMode) const |
matrix4x4 & | GetMatrix (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 |
RenderSystem * | m_pRenderSystem |
IPipelineImpl * | m_pPipelineImpl |
ShaderObjectSet | m_setShaders [eMTXMODE_COUNT] |
ShaderObjectSet | m_setNmlShaders |
ShaderObjectSet | m_setMVShaders |
ShaderObjectSet | m_setPMVShaders |
Amis | |
class | IPipelineImpl |
Implementation of the rendering pipeline.
Defines the various matrices, applies the numerous transformation it can support and applies them
typedef Castor::Matrix3x3r Castor3D::Pipeline::matrix3x3 |
typedef Castor::Matrix4x4r Castor3D::Pipeline::matrix4x4 |
|
protected |
|
virtual |
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 | ||
) |
|
inline |
|
inline |
|
pure virtual |
bool Castor3D::Pipeline::LoadIdentity | ( | ) |
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 | ) |
|
inline |
|
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 | ||
) |
|
pure virtual |
|
friend |
|
protected |
|
protected |
|
protected |
matrix4x4 Castor3D::Pipeline::m_mtxIdentity |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |