![]() |
Kochol Game Engine
0.1.0
|
Modiriat konande sahne ha. More...
#include <SceneManager.h>
Public Member Functions | |
SceneManager (gfx::Renderer *pRenderer) | |
Sazande class SceneManager. | |
~SceneManager () | |
Destrctor. | |
void | AddSceneNode (SceneNode *pSnNode) |
Ezafe kardane ye Node Jadid. Tamame in Node ha parent hastand. | |
void | AddSceneNode (SceneNode *pSnNode, NodeType type) |
Ezafe kardane ye Node Jadid. Tamame in Node ha parent hastand. | |
void | RegNode (SceneNode *pSnNode, RenderOrder ro=ERO_Middle) |
void | RemoveSceneNode (SceneNode *pSnNode, bool setParentNull=true) |
Removes the scene node from scene manager. | |
bool | RenderAll (float elapsedTime) |
Render kardane hame chi. | |
Camera * | AddCameraNode (const math::Vector &Position, const math::Vector &LookAt, const math::Vector &UpDirection=math::Vector(0.0f, 1.0f, 0.0f)) |
Ezafe kardane ye dorbin be sahne. | |
AnimatedMesh * | AddAnimatedMeshNode (const char *FileName) |
StaticMesh * | AddStaticMeshNode (const char *FileName, bool enableLighting=true) |
ParticleSystem * | AddParticleSystemNode (const ParticleSystemParameters &p) |
AnimatedTexture * | AddAnimatedTextureNode (const AnimatedTextureParameters &p) |
RibbonTrail * | AddRibbonTrail (const char *shaderName, const char *textureName, const math::Vector &textureRect, const gfx::Colorf &initialColor, const gfx::Colorf &finalColor, float width, float speed, float age, float chaosRatio) |
virtual Light * | AddDirectionalLight (math::Vector vDir, const gfx::Colorf &color) |
Ye nore jahat daro dar sahne ezafe mikone. Mesle nore Khorshid. | |
virtual sn::Light * | AddPointLight (const math::Vector &vPosition, const gfx::Colorf &color) |
Ye nore noghte i ro be sahne ezafe mikone ke noresh dar tamame jahat pakhsh mishe. | |
virtual sn::Light * | AddSpotLight (const math::Vector &vPosition, const math::Vector &vDirection, const gfx::Colorf &color) |
Ye nore spot ro be sahne ezafe mikone mesle nore cheragh ghove. | |
gfx::Texture * | AddTexture (const char *FileName) |
gfx::Texture * | AddTexture (const char *FileName, const char *Name, gfx::CompressType ct=gfx::ECT_DXT5) |
gfx::Shader * | AddVertexShader (const char *fileName, const char *vertexMain, int version) |
gfx::Shader * | AddPixelShader (const char *fileName, const char *pixelMain, int version) |
void | AddEffect (efx::Effect *pEffect, efx::EffectType Type) |
sn::Sound3D * | AddSound3D (const char *FileName) |
ezafe kardane ye Sound3D be sahne | |
gfx::Renderer * | GetRenderer () |
Returns the renderer pointer. | |
sn::Light * | GetNearestLight (const math::Vector &Where) |
const core::PriorityArray < sn::Light *, float > & | GetNearestLight (const math::Vector &Where, int count) |
void | SetActiveCamera (Camera *cam) |
Sets the active camera. | |
Camera * | GetActiveCamera () |
Returns the active camera. | |
math::CollisionType | IsVisible (SceneNode *node) |
Checks a node for its visibility. | |
const core::PriorityArray < SceneNode *, int > & | GetVisibleMeshes () const |
std::vector< SceneNode * > | GetVisibleMeshes (Camera *pCam) |
void | SetStoreShadowPoints (bool bEnable) |
For internal use. | |
bool | GetStoreShadowPoints () const |
For internal use. | |
void | Clear () |
bool | GetShadowHit () const |
void | AddGeometryBatch (gfx::GeometryBatch *pGeoBatch) |
std::vector< SceneNode * > * | GetShadowCasterNodes () |
std::vector< SceneNode * > * | GetShadowReciverNodes () |
std::vector< math::AABB > * | GetShadowCasterPoints () |
std::vector< math::AABB > * | GetShadowReciverPoints () |
void | EnableShadow (bool enableShadow) |
void | CheckForMaterialsChanges (SceneNode *pSn) |
Checks the scene node for material necessary changes. | |
const std::vector < gfx::GeometryBatch * > & | GetInstances () |
Returns the GeometryBatch list. | |
float | GetElaspedTime () |
std::vector< Light * > | GetLightsInFrustum (int &DirCount, int &PointCount, int &SpotCount) |
bool | IsLightVisible (Light *pLit) |
gfx::HardwareBuffer * | GetParticlesSharedBuffer () |
The Mesh SceneNodes. | |
void | SetParticlesSharedBuffer (gfx::HardwareBuffer *ib) |
RBuffer * | GetRBuffer (size_t size) |
void | FreeRBuffer (RBuffer *rbuffer) |
Private Attributes | |
gfx::HardwareBuffer * | m_particlesSharedBuffer |
std::vector< RBuffer * > | m_rbuffers |
std::vector< RBuffer * > | m_freeRBuffers |
size_t | m_numFreeBuffers |
Friends | |
class | kge::gfx::RendererDX |
Modiriat konande sahne ha.
Definition at line 77 of file SceneManager.h.
kge::sn::SceneManager::SceneManager | ( | gfx::Renderer * | pRenderer | ) |
Sazande class SceneManager.
kge::sn::SceneManager::~SceneManager | ( | ) |
Destrctor.
AnimatedMesh* kge::sn::SceneManager::AddAnimatedMeshNode | ( | const char * | FileName | ) |
Loads an animated mesh from file the supported formats are: MS3D(Milk Shape 3D).
FileName | Esme va mahal file .ms3d |
AnimatedTexture* kge::sn::SceneManager::AddAnimatedTextureNode | ( | const AnimatedTextureParameters & | p | ) |
Camera* kge::sn::SceneManager::AddCameraNode | ( | const math::Vector & | Position, |
const math::Vector & | LookAt, | ||
const math::Vector & | UpDirection = math::Vector(0.0f, 1.0f, 0.0f) |
||
) |
Ezafe kardane ye dorbin be sahne.
Position | Makanne dorbin. |
LookAt | Be jaye ke dorbin negah mikone. |
UpDirection | Jahat bala dar faza. |
|
virtual |
Ye nore jahat daro dar sahne ezafe mikone. Mesle nore Khorshid.
vDir | Jahate nor. |
color | Range nor. |
void kge::sn::SceneManager::AddEffect | ( | efx::Effect * | pEffect, |
efx::EffectType | Type | ||
) |
void kge::sn::SceneManager::AddGeometryBatch | ( | gfx::GeometryBatch * | pGeoBatch | ) |
ParticleSystem* kge::sn::SceneManager::AddParticleSystemNode | ( | const ParticleSystemParameters & | p | ) |
gfx::Shader* kge::sn::SceneManager::AddPixelShader | ( | const char * | fileName, |
const char * | pixelMain, | ||
int | version | ||
) |
Add a pixel shader
|
virtual |
Ye nore noghte i ro be sahne ezafe mikone ke noresh dar tamame jahat pakhsh mishe.
Position | Mahale gharar giri nor. |
Color | Range nor. |
RibbonTrail* kge::sn::SceneManager::AddRibbonTrail | ( | const char * | shaderName, |
const char * | textureName, | ||
const math::Vector & | textureRect, | ||
const gfx::Colorf & | initialColor, | ||
const gfx::Colorf & | finalColor, | ||
float | width, | ||
float | speed, | ||
float | age, | ||
float | chaosRatio | ||
) |
void kge::sn::SceneManager::AddSceneNode | ( | SceneNode * | pSnNode | ) |
Ezafe kardane ye Node Jadid. Tamame in Node ha parent hastand.
Referenced by kge::sn::Bone::AddChild().
Ezafe kardane ye Node Jadid. Tamame in Node ha parent hastand.
sn::Sound3D* kge::sn::SceneManager::AddSound3D | ( | const char * | FileName | ) |
ezafe kardane ye Sound3D be sahne
|
virtual |
Ye nore spot ro be sahne ezafe mikone mesle nore cheragh ghove.
Position | Mahale gharar giri nor. |
Direction | Jahate nor ra moshakhas mikone. |
Color | Range nor. |
StaticMesh* kge::sn::SceneManager::AddStaticMeshNode | ( | const char * | FileName, |
bool | enableLighting = true |
||
) |
Loads a static mesh from file the supported formats are: MS3D(Milk Shape 3D).
FileName | Esme va mahal file .ms3d |
gfx::Texture* kge::sn::SceneManager::AddTexture | ( | const char * | FileName | ) |
Ezafe kardane ye texture.
Filename | Esme tasvir ke bayad load shavad. |
gfx::Texture* kge::sn::SceneManager::AddTexture | ( | const char * | FileName, |
const char * | Name, | ||
gfx::CompressType | ct = gfx::ECT_DXT5 |
||
) |
Load a texture
Filename | Texture file name to load |
Name | The texture name this parameter is optional but if you want to texture manager load a texture more than one time take it different names. |
ct | This is for creating compressed textures if you don't want use compressed textures pass kge::gfx::ECT_None |
gfx::Shader* kge::sn::SceneManager::AddVertexShader | ( | const char * | fileName, |
const char * | vertexMain, | ||
int | version | ||
) |
Add a vertex shader
void kge::sn::SceneManager::CheckForMaterialsChanges | ( | SceneNode * | pSn | ) |
Checks the scene node for material necessary changes.
void kge::sn::SceneManager::Clear | ( | ) |
|
inline |
Definition at line 279 of file SceneManager.h.
void kge::sn::SceneManager::FreeRBuffer | ( | RBuffer * | rbuffer | ) |
|
inline |
Returns the active camera.
Definition at line 239 of file SceneManager.h.
|
inline |
Definition at line 287 of file SceneManager.h.
|
inline |
Returns the GeometryBatch list.
Definition at line 285 of file SceneManager.h.
std::vector<Light*> kge::sn::SceneManager::GetLightsInFrustum | ( | int & | DirCount, |
int & | PointCount, | ||
int & | SpotCount | ||
) |
sn::Light* kge::sn::SceneManager::GetNearestLight | ( | const math::Vector & | Where | ) |
Get the nearest light scene node from the given position.
Where | The position to find the nearest light. |
const core::PriorityArray<sn::Light*, float>& kge::sn::SceneManager::GetNearestLight | ( | const math::Vector & | Where, |
int | count | ||
) |
Get the nearest lights scene node from the given position.
Where | The position to find the nearest light. |
|
inline |
The Mesh SceneNodes.
Definition at line 298 of file SceneManager.h.
RBuffer* kge::sn::SceneManager::GetRBuffer | ( | size_t | size | ) |
|
inline |
Returns the renderer pointer.
Definition at line 215 of file SceneManager.h.
|
inline |
Definition at line 261 of file SceneManager.h.
|
inline |
Definition at line 269 of file SceneManager.h.
|
inline |
Definition at line 256 of file SceneManager.h.
|
inline |
Definition at line 265 of file SceneManager.h.
|
inline |
Definition at line 273 of file SceneManager.h.
|
inline |
For internal use.
Definition at line 252 of file SceneManager.h.
|
inline |
Definition at line 244 of file SceneManager.h.
bool kge::sn::SceneManager::IsLightVisible | ( | Light * | pLit | ) |
math::CollisionType kge::sn::SceneManager::IsVisible | ( | SceneNode * | node | ) |
Checks a node for its visibility.
void kge::sn::SceneManager::RegNode | ( | SceneNode * | pSnNode, |
RenderOrder | ro = ERO_Middle |
||
) |
Vaghti ke hame karhaye ghabl az render anjam shod va render shodan ghati shod ba in dastor mire baraye render.
pSnNode | Node ie ke gharar hast render beshe. |
ro | Tartib render ke che moghei render beshe. |
void kge::sn::SceneManager::RemoveSceneNode | ( | SceneNode * | pSnNode, |
bool | setParentNull = true |
||
) |
Removes the scene node from scene manager.
bool kge::sn::SceneManager::RenderAll | ( | float | elapsedTime | ) |
Render kardane hame chi.
|
inline |
Sets the active camera.
Definition at line 236 of file SceneManager.h.
References kge::sn::Camera::m_bChanged.
void kge::sn::SceneManager::SetParticlesSharedBuffer | ( | gfx::HardwareBuffer * | ib | ) |
|
inline |
For internal use.
Definition at line 249 of file SceneManager.h.
|
friend |
Definition at line 79 of file SceneManager.h.
bool kge::sn::SceneManager::m_bEnableShadow |
Definition at line 349 of file SceneManager.h.
bool kge::sn::SceneManager::m_bHit |
Definition at line 340 of file SceneManager.h.
bool kge::sn::SceneManager::m_bStoreShadowPoints |
Definition at line 339 of file SceneManager.h.
gfx::MaterialParams kge::sn::SceneManager::m_DefaultMatParam |
Definition at line 337 of file SceneManager.h.
float kge::sn::SceneManager::m_fElaspedTime |
The List of the meshes for catching.
Definition at line 316 of file SceneManager.h.
|
private |
Definition at line 391 of file SceneManager.h.
int kge::sn::SceneManager::m_iLightCount |
Definition at line 383 of file SceneManager.h.
|
private |
Definition at line 392 of file SceneManager.h.
Camera* kge::sn::SceneManager::m_pActiveCam |
Definition at line 335 of file SceneManager.h.
|
private |
Definition at line 389 of file SceneManager.h.
float * kge::sn::SceneManager::m_pfDirLightColorData |
Definition at line 380 of file SceneManager.h.
float* kge::sn::SceneManager::m_pfDirLightData |
Definition at line 380 of file SceneManager.h.
float * kge::sn::SceneManager::m_pfDirLightSpecColorData |
Definition at line 380 of file SceneManager.h.
gfx::Shader * kge::sn::SceneManager::m_pPsDeferred |
Definition at line 352 of file SceneManager.h.
gfx::Shader * kge::sn::SceneManager::m_pPsDeferredShadow |
Definition at line 352 of file SceneManager.h.
gfx::Shader * kge::sn::SceneManager::m_pPsPointLight |
Definition at line 352 of file SceneManager.h.
gfx::Shader * kge::sn::SceneManager::m_pPsSphere |
Definition at line 352 of file SceneManager.h.
gfx::Renderer* kge::sn::SceneManager::m_pRenderer |
Textures array.
Definition at line 329 of file SceneManager.h.
math::AABB* kge::sn::SceneManager::m_pSceneAABB |
Definition at line 293 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsDirLight |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsDirLightColor |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsDirLightColorShadow |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsDirLightShadow |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsDirLightSpecColor |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsDirLightSpecColorShadow |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsEyePos |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsEyePosShadow |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PshPointEyePos |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PshPointPointLight |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PshPointPointLightColor |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PshPointPointLightSpecColor |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsLightCount |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsMatShadow |
Definition at line 359 of file SceneManager.h.
StaticMesh* kge::sn::SceneManager::m_pSphere |
Definition at line 385 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_PsShadowColor |
Definition at line 359 of file SceneManager.h.
gfx::Shader* kge::sn::SceneManager::m_pVsDeferred |
Deferred shading shaders.
Definition at line 352 of file SceneManager.h.
gfx::Shader * kge::sn::SceneManager::m_pVsSphere |
Definition at line 352 of file SceneManager.h.
|
private |
Definition at line 390 of file SceneManager.h.
std::vector<SceneNode*> kge::sn::SceneManager::m_vAnimTexNodes |
The Light SceneNodes.
Definition at line 311 of file SceneManager.h.
std::vector<SceneNode*> kge::sn::SceneManager::m_vCamNodes |
Tamame Node haye nashenakhte.
Definition at line 308 of file SceneManager.h.
core::PriorityArray<SceneNode*, int> kge::sn::SceneManager::m_vDecalNodes |
This SceneNodes must be render last.
Definition at line 322 of file SceneManager.h.
core::PriorityArray<efx::Effect*, efx::EffectType> kge::sn::SceneManager::m_vEffect |
This SceneNodes must be render last.
Definition at line 324 of file SceneManager.h.
std::vector<efx::EffectType> kge::sn::SceneManager::m_vEffectType |
Contains pointers to Effect.
Definition at line 326 of file SceneManager.h.
core::PriorityArray<SceneNode*, int> kge::sn::SceneManager::m_vFirstNodes |
Definition at line 319 of file SceneManager.h.
std::vector<gfx::GeometryBatch*> kge::sn::SceneManager::m_vGeometryBatches |
Definition at line 346 of file SceneManager.h.
core::PriorityArray<SceneNode*, float> kge::sn::SceneManager::m_vLastNodes |
This SceneNodes must be render middle.
Definition at line 321 of file SceneManager.h.
core::PriorityArray<sn::Light*, float> kge::sn::SceneManager::m_vLightList |
Definition at line 333 of file SceneManager.h.
std::vector<SceneNode*> kge::sn::SceneManager::m_vLightNodes |
The Camera SceneNodes.
Definition at line 309 of file SceneManager.h.
std::vector<gfx::MeshBuffer*> kge::sn::SceneManager::m_vMeshBuffer |
The Renderer pointer.
Definition at line 331 of file SceneManager.h.
std::vector<Mesh*> kge::sn::SceneManager::m_vMeshList |
The list of particle system nodes.
Definition at line 314 of file SceneManager.h.
std::vector<SceneNode*> kge::sn::SceneManager::m_vMeshNodes |
Definition at line 295 of file SceneManager.h.
core::PriorityArray<SceneNode*, int> kge::sn::SceneManager::m_vMidNodes |
This SceneNodes must be render first.
Definition at line 320 of file SceneManager.h.
std::vector<SceneNode*> kge::sn::SceneManager::m_vNodes |
Definition at line 307 of file SceneManager.h.
std::vector<SceneNode*> kge::sn::SceneManager::m_vPSysNodes |
The list of animated texture nodes.
Definition at line 312 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_VsEyePos |
Definition at line 359 of file SceneManager.h.
std::vector<SceneNode*> kge::sn::SceneManager::m_vShadowCasterNodes |
Definition at line 341 of file SceneManager.h.
std::vector<math::AABB> kge::sn::SceneManager::m_vShadowCasterPoints |
Definition at line 343 of file SceneManager.h.
std::vector<SceneNode*> kge::sn::SceneManager::m_vShadowReciverNodes |
Definition at line 341 of file SceneManager.h.
std::vector<math::AABB> kge::sn::SceneManager::m_vShadowReciverPoints |
Definition at line 343 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_VsHalfPixel |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_VshSphereMatWVP |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_VsmatViewProj |
Definition at line 359 of file SceneManager.h.
gfx::ShaderHandle kge::sn::SceneManager::m_VsmatViewProjInv |
Definition at line 359 of file SceneManager.h.
std::vector<gfx::TextureInfo> kge::sn::SceneManager::m_vTextures |
Contains pointers to EffectType.
Definition at line 328 of file SceneManager.h.