Castor3D  ..
Public Member Functions | Protected Attributes | Friends | List of all members
Castor3D::IPipelineImpl Class Referenceabstract

Implementation of the rendering pipeline. More...

+ Collaboration diagram for Castor3D::IPipelineImpl:

Public Member Functions

C3D_API IPipelineImpl (Pipeline &p_pipeline, bool p_rightHanded)
 Constructor. More...
 
virtual C3D_API ~IPipelineImpl ()
 Destructor. More...
 
virtual C3D_API void ApplyMatrix (Castor::Matrix4x4r const &p_matrix, Castor::String const &p_name, FrameVariableBuffer &p_matrixBuffer)
 Puts the given matrix in the given frame variables buffer. More...
 
virtual C3D_API void ApplyViewport (int p_windowWidth, int p_windowHeight)=0
 Applies the given viewport dimension. More...
 
virtual C3D_API void Perspective (Castor::Matrix4x4r &p_result, Castor::Angle const &p_fovy, real p_aspect, real p_near, real p_far)=0
 Builds a matrix that sets a centered perspective projection from the given parameters. More...
 
virtual C3D_API void Frustum (Castor::Matrix4x4r &p_result, real p_left, real p_right, real p_bottom, real p_top, real p_near, real p_far)=0
 Builds a matrix that sets a non centered perspective projection from the given parameters. More...
 
virtual C3D_API void Ortho (Castor::Matrix4x4r &p_result, real p_left, real p_right, real p_bottom, real p_top, real p_near, real p_far)=0
 Builds a matrix that sets an orthogonal projection. More...
 
virtual C3D_API void LookAt (Castor::Matrix4x4r &p_result, Castor::Point3r const &p_eye, Castor::Point3r const &p_center, Castor::Point3r const &p_up)=0
 Builds a view matrix that looks at a given point. More...
 

Protected Attributes

Pipelinem_pipeline
 The parent pipeline. More...
 
bool m_rightHanded
 Tells if the pipeline is right handed (true) or left handed (false). More...
 

Friends

class Pipeline
 

Detailed Description

Implementation of the rendering pipeline.

Author
Sylvain DOREMUS
Version
0.6.1.0
Date
03/01/2011
Remarks
Defines the various matrices, applies the transformations it can support.

Constructor & Destructor Documentation

◆ IPipelineImpl()

C3D_API Castor3D::IPipelineImpl::IPipelineImpl ( Pipeline p_pipeline,
bool  p_rightHanded 
)

Constructor.

Parameters
[in]p_pipelineThe parent pipeline.
[in]p_rightHandedTells if the pipeline is right handed (true) or left handed (false).

◆ ~IPipelineImpl()

virtual C3D_API Castor3D::IPipelineImpl::~IPipelineImpl ( )
virtual

Destructor.

Member Function Documentation

◆ ApplyMatrix()

virtual C3D_API void Castor3D::IPipelineImpl::ApplyMatrix ( Castor::Matrix4x4r const &  p_matrix,
Castor::String const &  p_name,
FrameVariableBuffer p_matrixBuffer 
)
virtual

Puts the given matrix in the given frame variables buffer.

Parameters
[in]p_matrixThe matrix.
[in]p_nameThe shader variable name.
[in]p_matrixBufferThe matrix variables buffer.

◆ ApplyViewport()

virtual C3D_API void Castor3D::IPipelineImpl::ApplyViewport ( int  p_windowWidth,
int  p_windowHeight 
)
pure virtual

Applies the given viewport dimension.

Parameters
[in]p_windowWidth,p_windowHeightThe dimensions.

◆ Frustum()

virtual C3D_API void Castor3D::IPipelineImpl::Frustum ( Castor::Matrix4x4r &  p_result,
real  p_left,
real  p_right,
real  p_bottom,
real  p_top,
real  p_near,
real  p_far 
)
pure virtual

Builds a matrix that sets a non centered perspective projection from the given parameters.

Parameters
[out]p_resultThe matrix that will receive the result.
[in]p_leftLeft clipping plane value.
[in]p_rightRight clipping plane value.
[in]p_bottomBottom clipping plane value.
[in]p_topTop clipping plane value.
[in]p_nearNear clipping plane value.
[in]p_farFar clipping plane value.

◆ LookAt()

virtual C3D_API void Castor3D::IPipelineImpl::LookAt ( Castor::Matrix4x4r &  p_result,
Castor::Point3r const &  p_eye,
Castor::Point3r const &  p_center,
Castor::Point3r const &  p_up 
)
pure virtual

Builds a view matrix that looks at a given point.

Parameters
[out]p_resultThe matrix that will receive the result.
[in]p_eyeThe eye position.
[in]p_centerThe point to look at.
[in]p_upThe up direction..

◆ Ortho()

virtual C3D_API void Castor3D::IPipelineImpl::Ortho ( Castor::Matrix4x4r &  p_result,
real  p_left,
real  p_right,
real  p_bottom,
real  p_top,
real  p_near,
real  p_far 
)
pure virtual

Builds a matrix that sets an orthogonal projection.

Parameters
[out]p_resultThe matrix that will receive the result.
[in]p_leftLeft clipping plane value.
[in]p_rightRight clipping plane value.
[in]p_bottomBottom clipping plane value.
[in]p_topTop clipping plane value.
[in]p_nearNear clipping plane value.
[in]p_farFar clipping plane value.

◆ Perspective()

virtual C3D_API void Castor3D::IPipelineImpl::Perspective ( Castor::Matrix4x4r &  p_result,
Castor::Angle const &  p_fovy,
real  p_aspect,
real  p_near,
real  p_far 
)
pure virtual

Builds a matrix that sets a centered perspective projection from the given parameters.

Parameters
[out]p_resultThe matrix that will receive the result.
[in]p_fovyY Field of View.
[in]p_aspectWidth / Height ratio.
[in]p_nearNear clipping plane value.
[in]p_farFar clipping plane value.

Friends And Related Function Documentation

◆ Pipeline

friend class Pipeline
friend

Member Data Documentation

◆ m_pipeline

Pipeline& Castor3D::IPipelineImpl::m_pipeline
protected

The parent pipeline.

◆ m_rightHanded

bool Castor3D::IPipelineImpl::m_rightHanded
protected

Tells if the pipeline is right handed (true) or left handed (false).


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