Rasterfarm-SDK
|
#include <shadowmap.h>
Classes | |
class | ShadowMaterial |
Public Types | |
typedef Pair< Surface::Blur< Surface::Render::Color::Texel::BlurHorizontal2D5 > *, Surface::Blur< Surface::Render::Color::Texel::BlurVertical2D5 > * > | BlurMaterialPair |
typedef std::map< Surface::Material *, Surface::Render::Color::Texel::Shadow2D * > | Shadow2DMap |
Public Types inherited from Scene | |
typedef List< GeometricBase * > | GeometricBaseList |
Public Member Functions | |
virtual void | renderMaterialLists () |
virtual void | clearMaterialLists () |
virtual void | release (Texture *pTexture) |
virtual void | release (Surface::Material *pMaterial) |
virtual void | release (Surface::Render::Component *pComponent) |
ShadowMap (Scene *pSourceScene, Light *pLightObject, uint pixelWidth=Application::getWidth(), uint pixelHeight=Application::getWidth(), uint blurIterations=0) | |
virtual | ~ShadowMap () |
virtual void | addMaterials () |
virtual void | addMaterialList (const Surface::MaterialList &pMaterial) |
virtual void | addGeometricObject (GeometricBase *pObject) |
virtual void | removeGeometricObject (GeometricBase *pObject) |
virtual void | createModel () |
void | renderToStaticMaps (GeometricBase *pObject) |
void | renderToStaticMaps (Node *pNode) |
void | clearTexture (Texture *pTexture) |
Public Member Functions inherited from Ortho | |
Ortho (const Attribute &attribute=Attribute(), float nearZClip=0.0f, float farZClip=100.0f) | |
const Attribute & | getAttribute () |
Matrix4f | createFullView (GeometricBase *pObject) |
Public Member Functions inherited from Display | |
Display (const Matrix4f &projectionMatrix, float nearZClip, float farZClip) | |
void | addPreprocessor (Scene *pScene) |
void | removePreprocessor (Scene *pScene) |
Public Member Functions inherited from Scene | |
Scene (const Matrix4f &projectionMatrix, float nearZClip, float farZClip) | |
virtual | ~Scene () |
virtual void | removeGeometricObject (Node *pObject) |
void | queueGeometricObject (GeometricBase *pObject) |
void | queueGeometricObject (Node *pObject) |
bool | hasFrameBuffer (FrameBuffer *pFrameBuffer) |
void | addFrameBuffer (FrameBuffer *pFrameBuffer) |
void | removeFrameBuffer (FrameBuffer *pFrameBuffer) |
bool | inDisplayArea (GeometricBase *pObject) |
bool | inDisplayArea () |
const Matrix4f & | getModel (GeometricBase *pObject) |
const UnorderedMap< Node *, Matrix4f > & | getNodeModel () const |
Primitive3D::AABoundingBox | getAABoundingBox () |
Primitive3D::AABoundingBox | getAABoundingBox (GeometricBase *pObject) |
Primitive3D::AABoundingBox | getNDCAABoundingBox () |
Primitive3D::AABoundingBox | getNDCAABoundingBox (GeometricBase *pObject) |
uint | getGeometricObjectSize () |
const GeometricBaseList & | getGeometricObject () |
void | updateCamera () |
void | renderMaterialList (Surface::MaterialList &pList, Surface::MaterialSortFunction sortFunction, float clipFactor=1.0f) |
void | renderMaterial (Surface::Material *pMaterial) |
void | setCamera (Camera *pCamera) |
Camera * | getCamera () |
const Matrix4f & | getProjectionMatrix () |
const Matrix4f & | getViewMatrix () |
float | getNearZClip () |
float | getFarZClip () |
bool | hasGeometricObject (GeometricBase *pObject) |
Vertex4f | project (const Vertex3f &vertex) |
Vertex3f | unProject (const Vertex4f &vertex) |
Vertex3f | localToNdc (Vertex3f point) |
Vertex3f | ndcToLocal (Vertex3f point, float w) |
Public Member Functions inherited from DynamicType | |
DynamicType () | |
template<class C > | |
void | addType () |
TypeID | getDerivedTypeId () const |
template<class C > | |
const bool | isType () const |
template<class C > | |
const C * | cast () const |
template<class C > | |
C * | cast () |
template<class FROM , class TO > | |
TO * | cast () |
template<class FROM , class TO > | |
const TO * | cast () const |
Additional Inherited Members | |
Static Public Member Functions inherited from Ortho | |
static Matrix4f | createMatrix (float left, float right, float bottom, float top, float nearZClip, float farZClip) |
static Matrix4f | createMatrix (float aspectRatio=Application::getAspectRatio(), float scale=1.0f, float nearZClip=0.0f, float farZClip=1.0f) |
static Matrix4f | createFullView (Primitive2D::AABoundingBox box, Matrix4f projectionMatrix) |
Protected Attributes inherited from Ortho | |
Attribute | attribute |
Protected Attributes inherited from Scene | |
float | nearZClip |
float | farZClip |
Matrix4f | view |
Matrix4f | projectionMatrix |
Camera * | pCamera |
GeometricBaseList | pGeometricObject |
UnorderedMap< Node *, Matrix4f > | nodeModel |
List< FrameBuffer * > | pFrameBuffer |
typedef Pair< Surface::Blur< Surface::Render::Color::Texel::BlurHorizontal2D5 > *, Surface::Blur< Surface::Render::Color::Texel::BlurVertical2D5 > * > ShadowMap::BlurMaterialPair |
typedef std::map< Surface::Material *, Surface::Render::Color::Texel::Shadow2D * > ShadowMap::Shadow2DMap |
ShadowMap::ShadowMap | ( | Scene * | pSourceScene, |
Light * | pLightObject, | ||
uint | pixelWidth = Application::getWidth(), | ||
uint | pixelHeight = Application::getWidth(), | ||
uint | blurIterations = 0 ) |
|
virtual |
|
virtual |
|
virtual |
Reimplemented from Display.
|
virtual |
Reimplemented from Scene.
|
virtual |
Reimplemented from Display.
void ShadowMap::clearTexture | ( | Texture * | pTexture | ) |
|
virtual |
Reimplemented from Scene.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
The | GeometricBase object containing at least 1 Material. |
Reimplemented from Scene.
|
virtual |
Reimplemented from Display.
void ShadowMap::renderToStaticMaps | ( | GeometricBase * | pObject | ) |
Mark this object as not changing w/respect to transforms and it will only be rendered to Shadow2D components marked as static(!dynamic). NOTE: this call will trigger an update to the static maps.
void ShadowMap::renderToStaticMaps | ( | Node * | pNode | ) |
All | Geometric objects contained in this node will be rendered-to the static shadow-maps. |
uint ShadowMap::blurIterations |
BlurMaterialPair ShadowMap::blurMaterial |
Camera ShadowMap::camera |
Primitive3D::AABoundingBox ShadowMap::cameraBoundingBox |
Engine::Texture::Attribute ShadowMap::depthTextureAttribute |
Primitive3D::AABoundingBox ShadowMap::objectsBoundingBox |
Shadow2DMap ShadowMap::pCasterSampler |
FrameBuffer* ShadowMap::pDepthFrameBuffer |
Texture* ShadowMap::pDepthTexture |
Texture* ShadowMap::pFinalReceiverTexture |
Light* ShadowMap::pLightObject |
Surface::MaterialList ShadowMap::pMaterialList |
Engine::Texture::Attribute ShadowMap::postProcessTextureAttribute |
Texture* ShadowMap::pOutputTexture |
UnorderedMap< Surface::Material *, Texture * > ShadowMap::pPostProcessDepthTexture |
PostProcessTexturePairArray ShadowMap::pPostProcessReceiverTexture |
UnorderedMap< Surface::Material *, PostProcessTexturePairArray > ShadowMap::pPostProcessTexture |
FrameBuffer* ShadowMap::pPPFrameBuffer |
Raster::Quad* ShadowMap::pQuadObject |
Shadow2DMap ShadowMap::pReceiverSampler |
GeometricBaseList ShadowMap::pRenderStaticObject |
UnorderedMap< Surface::Material *, ShadowMaterial * > ShadowMap::pShadowMaterial |
Scene* ShadowMap::pSourceScene |
Shadow2DMap ShadowMap::pStaticReceiverSampler |
A Material can have > 1 Shadow2D samplers and these are marked static. These samplers will only be updated per changes to the static shadow map texture.
Texture* ShadowMap::pStaticShadowTexture |
const Matrix4f ShadowMap::quadProjection |
bool ShadowMap::updateStaticShadow |