Loading...
Searching...
No Matches
ISceneManager.h
Go to the documentation of this file.
// Copyright (C) 2002-2012 Nikolaus Gebhardt
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_SCENE_MANAGER_H_INCLUDED__
#define __I_SCENE_MANAGER_H_INCLUDED__
#include "IReferenceCounted.h"
#include "irrArray.h"
#include "irrString.h"
#include "path.h"
#include "vector3d.h"
#include "dimension2d.h"
#include "SColor.h"
#include "ETerrainElements.h"
#include "ESceneNodeTypes.h"
#include "ESceneNodeAnimatorTypes.h"
#include "EMeshWriterEnums.h"
#include "SceneParameters.h"
#include "IGeometryCreator.h"
#include "ISkinnedMesh.h"
namespace irr
{
struct SKeyMap;
struct SEvent;
namespace io
{
class IReadFile;
class IAttributes;
class IWriteFile;
class IFileSystem;
} // end namespace io
namespace gui
{
class IGUIFont;
class IGUIEnvironment;
} // end namespace gui
namespace video
{
class IVideoDriver;
class SMaterial;
class IImage;
class ITexture;
} // end namespace video
namespace scene
{
enum E_SCENE_NODE_RENDER_PASS
{
ESNRP_NONE =0,
ESNRP_CAMERA =1,
ESNRP_LIGHT =2,
ESNRP_SKY_BOX =4,
ESNRP_AUTOMATIC =24,
ESNRP_SOLID =8,
ESNRP_TRANSPARENT =16,
ESNRP_TRANSPARENT_EFFECT =32,
ESNRP_SHADOW =64
};
class IAnimatedMesh;
class IAnimatedMeshSceneNode;
class IBillboardSceneNode;
class IBillboardTextSceneNode;
class ICameraSceneNode;
class IDummyTransformationSceneNode;
class ILightManager;
class ILightSceneNode;
class IMesh;
class IMeshBuffer;
class IMeshCache;
class IMeshLoader;
class IMeshManipulator;
class IMeshSceneNode;
class IMeshWriter;
class IMetaTriangleSelector;
class IParticleSystemSceneNode;
class ISceneCollisionManager;
class ISceneLoader;
class ISceneNode;
class ISceneNodeAnimator;
class ISceneNodeAnimatorCollisionResponse;
class ISceneNodeAnimatorFactory;
class ISceneNodeFactory;
class ISceneUserDataSerializer;
class ITerrainSceneNode;
class ITextSceneNode;
class ITriangleSelector;
class IVolumeLightSceneNode;
namespace quake3
{
struct IShader;
} // end namespace quake3
class ISceneManager : public virtual IReferenceCounted
{
public:
virtual IAnimatedMesh* getMesh(const io::path& filename) = 0;
virtual IAnimatedMesh* getMesh(io::IReadFile* file) = 0;
virtual IMeshCache* getMeshCache() = 0;
virtual video::IVideoDriver* getVideoDriver() = 0;
virtual gui::IGUIEnvironment* getGUIEnvironment() = 0;
virtual io::IFileSystem* getFileSystem() = 0;
virtual IVolumeLightSceneNode* addVolumeLightSceneNode(ISceneNode* parent=0, s32 id=-1,
const u32 subdivU = 32, const u32 subdivV = 32,
const video::SColor foot = video::SColor(51, 0, 230, 180),
const video::SColor tail = video::SColor(0, 0, 0, 0),
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0;
virtual IMeshSceneNode* addCubeSceneNode(f32 size=10.0f, ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0;
virtual IMeshSceneNode* addSphereSceneNode(f32 radius=5.0f, s32 polyCount=16,
ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0;
virtual IAnimatedMeshSceneNode* addAnimatedMeshSceneNode(IAnimatedMesh* mesh,
ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f),
bool alsoAddIfMeshPointerZero=false) = 0;
virtual IMeshSceneNode* addMeshSceneNode(IMesh* mesh, ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f),
bool alsoAddIfMeshPointerZero=false) = 0;
virtual ISceneNode* addWaterSurfaceSceneNode(IMesh* mesh,
f32 waveHeight=2.0f, f32 waveSpeed=300.0f, f32 waveLength=10.0f,
ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0;
virtual IMeshSceneNode* addOctreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0,
s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false) = 0;
_IRR_DEPRECATED_ IMeshSceneNode* addOctTreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0,
s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false)
{
return addOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
}
virtual IMeshSceneNode* addOctreeSceneNode(IMesh* mesh, ISceneNode* parent=0,
s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false) = 0;
_IRR_DEPRECATED_ IMeshSceneNode* addOctTreeSceneNode(IMesh* mesh, ISceneNode* parent=0,
s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false)
{
return addOctreeSceneNode(mesh, parent, id, minimalPolysPerNode, alsoAddIfMeshPointerZero);
}
virtual ICameraSceneNode* addCameraSceneNode(ISceneNode* parent = 0,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& lookat = core::vector3df(0,0,100),
s32 id=-1, bool makeActive=true) = 0;
virtual ICameraSceneNode* addCameraSceneNodeMaya(ISceneNode* parent=0,
f32 rotateSpeed=-1500.f, f32 zoomSpeed=200.f,
f32 translationSpeed=1500.f, s32 id=-1, f32 distance=70.f,
bool makeActive=true) =0;
virtual ICameraSceneNode* addCameraSceneNodeFPS(ISceneNode* parent = 0,
f32 rotateSpeed = 100.0f, f32 moveSpeed = 0.5f, s32 id=-1,
SKeyMap* keyMapArray=0, s32 keyMapSize=0, bool noVerticalMovement=false,
f32 jumpSpeed = 0.f, bool invertMouse=false,
bool makeActive=true) = 0;
virtual ILightSceneNode* addLightSceneNode(ISceneNode* parent = 0,
const core::vector3df& position = core::vector3df(0,0,0),
video::SColorf color = video::SColorf(1.0f, 1.0f, 1.0f),
f32 radius=100.0f, s32 id=-1) = 0;
virtual IBillboardSceneNode* addBillboardSceneNode(ISceneNode* parent = 0,
const core::dimension2d<f32>& size = core::dimension2d<f32>(10.0f, 10.0f),
const core::vector3df& position = core::vector3df(0,0,0), s32 id=-1,
video::SColor colorTop = 0xFFFFFFFF, video::SColor colorBottom = 0xFFFFFFFF) = 0;
virtual ISceneNode* addSkyBoxSceneNode(video::ITexture* top, video::ITexture* bottom,
video::ITexture* left, video::ITexture* right, video::ITexture* front,
video::ITexture* back, ISceneNode* parent = 0, s32 id=-1) = 0;
virtual ISceneNode* addSkyDomeSceneNode(video::ITexture* texture,
u32 horiRes=16, u32 vertRes=8,
f32 texturePercentage=0.9, f32 spherePercentage=2.0,f32 radius = 1000.f,
ISceneNode* parent=0, s32 id=-1) = 0;
virtual IParticleSystemSceneNode* addParticleSystemSceneNode(
bool withDefaultEmitter=true, ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)) = 0;
virtual ITerrainSceneNode* addTerrainSceneNode(
const io::path& heightMapFileName,
ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0.0f,0.0f,0.0f),
const core::vector3df& rotation = core::vector3df(0.0f,0.0f,0.0f),
const core::vector3df& scale = core::vector3df(1.0f,1.0f,1.0f),
video::SColor vertexColor = video::SColor(255,255,255,255),
s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0,
bool addAlsoIfHeightmapEmpty = false) = 0;
virtual ITerrainSceneNode* addTerrainSceneNode(
io::IReadFile* heightMapFile,
ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0.0f,0.0f,0.0f),
const core::vector3df& rotation = core::vector3df(0.0f,0.0f,0.0f),
const core::vector3df& scale = core::vector3df(1.0f,1.0f,1.0f),
video::SColor vertexColor = video::SColor(255,255,255,255),
s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0,
bool addAlsoIfHeightmapEmpty = false) = 0;
virtual IMeshSceneNode* addQuake3SceneNode(const IMeshBuffer* meshBuffer, const quake3::IShader * shader,
ISceneNode* parent=0, s32 id=-1
) = 0;
virtual ISceneNode* addEmptySceneNode(ISceneNode* parent=0, s32 id=-1) = 0;
virtual IDummyTransformationSceneNode* addDummyTransformationSceneNode(
ISceneNode* parent=0, s32 id=-1) = 0;
virtual ITextSceneNode* addTextSceneNode(gui::IGUIFont* font, const wchar_t* text,
video::SColor color=video::SColor(100,255,255,255),
ISceneNode* parent = 0, const core::vector3df& position = core::vector3df(0,0,0),
s32 id=-1) = 0;
virtual IBillboardTextSceneNode* addBillboardTextSceneNode( gui::IGUIFont* font, const wchar_t* text,
ISceneNode* parent = 0,
const core::dimension2d<f32>& size = core::dimension2d<f32>(10.0f, 10.0f),
const core::vector3df& position = core::vector3df(0,0,0), s32 id=-1,
video::SColor colorTop = 0xFFFFFFFF, video::SColor colorBottom = 0xFFFFFFFF) = 0;
virtual IAnimatedMesh* addHillPlaneMesh(const io::path& name,
const core::dimension2d<f32>& tileSize, const core::dimension2d<u32>& tileCount,
video::SMaterial* material = 0, f32 hillHeight = 0.0f,
const core::dimension2d<f32>& countHills = core::dimension2d<f32>(0.0f, 0.0f),
const core::dimension2d<f32>& textureRepeatCount = core::dimension2d<f32>(1.0f, 1.0f)) = 0;
virtual IAnimatedMesh* addTerrainMesh(const io::path& meshname,
video::IImage* texture, video::IImage* heightmap,
const core::dimension2d<f32>& stretchSize = core::dimension2d<f32>(10.0f,10.0f),
f32 maxHeight=200.0f,
const core::dimension2d<u32>& defaultVertexBlockSize = core::dimension2d<u32>(64,64)) = 0;
virtual IAnimatedMesh* addArrowMesh(const io::path& name,
video::SColor vtxColorCylinder=0xFFFFFFFF,
video::SColor vtxColorCone=0xFFFFFFFF,
u32 tesselationCylinder=4, u32 tesselationCone=8,
f32 height=1.f, f32 cylinderHeight=0.6f,
f32 widthCylinder=0.05f, f32 widthCone=0.3f) = 0;
virtual IAnimatedMesh* addSphereMesh(const io::path& name,
f32 radius=5.f, u32 polyCountX = 16,
u32 polyCountY = 16) = 0;
virtual IAnimatedMesh* addVolumeLightMesh(const io::path& name,
const u32 SubdivideU = 32, const u32 SubdivideV = 32,
const video::SColor FootColor = video::SColor(51, 0, 230, 180),
const video::SColor TailColor = video::SColor(0, 0, 0, 0)) = 0;
virtual ISceneNode* getRootSceneNode() = 0;
virtual ISceneNode* getSceneNodeFromId(s32 id, ISceneNode* start=0) = 0;
virtual ISceneNode* getSceneNodeFromName(const c8* name, ISceneNode* start=0) = 0;
virtual ISceneNode* getSceneNodeFromType(scene::ESCENE_NODE_TYPE type, ISceneNode* start=0) = 0;
virtual void getSceneNodesFromType(ESCENE_NODE_TYPE type,
core::array<scene::ISceneNode*>& outNodes,
ISceneNode* start=0) = 0;
virtual ICameraSceneNode* getActiveCamera() const =0;
virtual void setActiveCamera(ICameraSceneNode* camera) = 0;
virtual void setShadowColor(video::SColor color = video::SColor(150,0,0,0)) = 0;
virtual video::SColor getShadowColor() const = 0;
virtual u32 registerNodeForRendering(ISceneNode* node,
E_SCENE_NODE_RENDER_PASS pass = ESNRP_AUTOMATIC) = 0;
virtual void drawAll() = 0;
virtual ISceneNodeAnimator* createRotationAnimator(const core::vector3df& rotationSpeed) = 0;
virtual ISceneNodeAnimator* createFlyCircleAnimator(
const core::vector3df& center=core::vector3df(0.f,0.f,0.f),
f32 radius=100.f, f32 speed=0.001f,
const core::vector3df& direction=core::vector3df(0.f, 1.f, 0.f),
f32 startPosition = 0.f,
f32 radiusEllipsoid = 0.f) = 0;
virtual ISceneNodeAnimator* createFlyStraightAnimator(const core::vector3df& startPoint,
const core::vector3df& endPoint, u32 timeForWay, bool loop=false, bool pingpong = false) = 0;
virtual ISceneNodeAnimator* createTextureAnimator(const core::array<video::ITexture*>& textures,
s32 timePerFrame, bool loop=true) = 0;
virtual ISceneNodeAnimator* createDeleteAnimator(u32 timeMs) = 0;
virtual ISceneNodeAnimatorCollisionResponse* createCollisionResponseAnimator(
ITriangleSelector* world, ISceneNode* sceneNode,
const core::vector3df& ellipsoidRadius = core::vector3df(30,60,30),
const core::vector3df& gravityPerSecond = core::vector3df(0,-10.0f,0),
const core::vector3df& ellipsoidTranslation = core::vector3df(0,0,0),
f32 slidingValue = 0.0005f) = 0;
virtual ISceneNodeAnimator* createFollowSplineAnimator(s32 startTime,
const core::array< core::vector3df >& points,
f32 speed = 1.0f, f32 tightness = 0.5f, bool loop=true, bool pingpong=false) = 0;
virtual ITriangleSelector* createTriangleSelector(IMesh* mesh, ISceneNode* node) = 0;
virtual ITriangleSelector* createTriangleSelector(IAnimatedMeshSceneNode* node) = 0;
virtual ITriangleSelector* createTriangleSelectorFromBoundingBox(ISceneNode* node) = 0;
virtual ITriangleSelector* createOctreeTriangleSelector(IMesh* mesh,
ISceneNode* node, s32 minimalPolysPerNode=32) = 0;
_IRR_DEPRECATED_ ITriangleSelector* createOctTreeTriangleSelector(IMesh* mesh,
ISceneNode* node, s32 minimalPolysPerNode=32)
{
return createOctreeTriangleSelector(mesh, node, minimalPolysPerNode);
}
virtual IMetaTriangleSelector* createMetaTriangleSelector() = 0;
virtual ITriangleSelector* createTerrainTriangleSelector(
ITerrainSceneNode* node, s32 LOD=0) = 0;
virtual void addExternalMeshLoader(IMeshLoader* externalLoader) = 0;
virtual u32 getMeshLoaderCount() const = 0;
virtual IMeshLoader* getMeshLoader(u32 index) const = 0;
virtual void addExternalSceneLoader(ISceneLoader* externalLoader) = 0;
virtual u32 getSceneLoaderCount() const = 0;
virtual ISceneLoader* getSceneLoader(u32 index) const = 0;
virtual ISceneCollisionManager* getSceneCollisionManager() = 0;
virtual IMeshManipulator* getMeshManipulator() = 0;
virtual void addToDeletionQueue(ISceneNode* node) = 0;
virtual bool postEventFromUser(const SEvent& event) = 0;
virtual void clear() = 0;
virtual io::IAttributes* getParameters() = 0;
virtual E_SCENE_NODE_RENDER_PASS getSceneNodeRenderPass() const = 0;
virtual ISceneNodeFactory* getDefaultSceneNodeFactory() = 0;
virtual void registerSceneNodeFactory(ISceneNodeFactory* factoryToAdd) = 0;
virtual u32 getRegisteredSceneNodeFactoryCount() const = 0;
virtual ISceneNodeFactory* getSceneNodeFactory(u32 index) = 0;
virtual ISceneNodeAnimatorFactory* getDefaultSceneNodeAnimatorFactory() = 0;
virtual void registerSceneNodeAnimatorFactory(ISceneNodeAnimatorFactory* factoryToAdd) = 0;
virtual u32 getRegisteredSceneNodeAnimatorFactoryCount() const = 0;
virtual ISceneNodeAnimatorFactory* getSceneNodeAnimatorFactory(u32 index) = 0;
virtual const c8* getSceneNodeTypeName(ESCENE_NODE_TYPE type) = 0;
virtual const c8* getAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type) = 0;
virtual ISceneNode* addSceneNode(const char* sceneNodeTypeName, ISceneNode* parent=0) = 0;
virtual ISceneNodeAnimator* createSceneNodeAnimator(const char* typeName, ISceneNode* target=0) = 0;
virtual ISceneManager* createNewSceneManager(bool cloneContent=false) = 0;
virtual bool saveScene(const io::path& filename, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* node=0) = 0;
virtual bool saveScene(io::IWriteFile* file, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* node=0) = 0;
virtual bool saveScene(io::IXMLWriter* writer, const io::path& currentPath, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* node=0) = 0;
virtual bool loadScene(const io::path& filename, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* rootNode=0) = 0;
virtual bool loadScene(io::IReadFile* file, ISceneUserDataSerializer* userDataSerializer=0, ISceneNode* rootNode=0) = 0;
virtual IMeshWriter* createMeshWriter(EMESH_WRITER_TYPE type) = 0;
virtual ISkinnedMesh* createSkinnedMesh() = 0;
virtual void setAmbientLight(const video::SColorf &ambientColor) = 0;
virtual const video::SColorf& getAmbientLight() const = 0;
virtual void setLightManager(ILightManager* lightManager) = 0;
virtual const IGeometryCreator* getGeometryCreator(void) const = 0;
virtual bool isCulled(const ISceneNode* node) const =0;
};
} // end namespace scene
} // end namespace irr
#endif
EMeshWriterEnums.h
ESceneNodeAnimatorTypes.h
ESceneNodeTypes.h
ETerrainElements.h
IGeometryCreator.h
IReferenceCounted.h
ISkinnedMesh.h
SColor.h
SceneParameters.h
Header file containing all scene parameters for modifying mesh loading etc.
irr::IReferenceCounted::IReferenceCounted
IReferenceCounted()
Constructor.
Definition IReferenceCounted.h:46
irr::core::array
Self reallocating template array (like stl vector) with additional features.
Definition irrArray.h:23
irr::core::dimension2d
Specifies a 2 dimensional size.
Definition dimension2d.h:21
irr::gui::IGUIEnvironment
GUI Environment. Used as factory and manager of all other GUI elements.
Definition IGUIEnvironment.h:71
irr::gui::IGUIFont
Font interface.
Definition IGUIFont.h:40
irr::io::IAttributes
Provides a generic interface for attributes and their values and the possiblity to serialize them.
Definition IAttributes.h:42
irr::io::IFileSystem
The FileSystem manages files and archives and provides access to them.
Definition IFileSystem.h:33
irr::io::IReadFile
Interface providing read acess to a file.
Definition IReadFile.h:18
irr::io::IWriteFile
Interface providing write access to a file.
Definition IWriteFile.h:18
irr::io::IXMLWriter
Interface providing methods for making it easier to write XML files.
Definition IXMLWriter.h:21
irr::scene::IAnimatedMesh
Interface for an animated mesh.
Definition IAnimatedMesh.h:63
irr::scene::IAnimatedMeshSceneNode
Scene node capable of displaying an animated mesh and its shadow.
Definition IAnimatedMeshSceneNode.h:54
irr::scene::IBillboardSceneNode
A billboard scene node.
Definition IBillboardSceneNode.h:21
irr::scene::IBillboardTextSceneNode
A billboard text scene node.
Definition IBillboardTextSceneNode.h:22
irr::scene::ICameraSceneNode
Scene Node which is a (controlable) camera.
Definition ICameraSceneNode.h:24
irr::scene::IDummyTransformationSceneNode
Dummy scene node for adding additional transformations to the scene graph.
Definition IDummyTransformationSceneNode.h:24
irr::scene::IGeometryCreator
Helper class for creating geometry on the fly.
Definition IGeometryCreator.h:26
irr::scene::ILightManager
ILightManager provides an interface for user applications to manipulate the list of lights in the sce...
Definition ILightManager.h:26
irr::scene::ILightSceneNode
Scene node which is a dynamic light.
Definition ILightSceneNode.h:23
irr::scene::IMeshBuffer
Struct for holding a mesh with a single material.
Definition IMeshBuffer.h:40
irr::scene::IMeshCache
The mesh cache stores already loaded meshes and provides an interface to them.
Definition IMeshCache.h:28
irr::scene::IMesh
Class which holds the geometry of an object.
Definition IMesh.h:24
irr::scene::IMeshLoader
Class which is able to load an animated mesh from a file.
Definition IMeshLoader.h:27
irr::scene::IMeshManipulator
An interface for easy manipulation of meshes.
Definition IMeshManipulator.h:30
irr::scene::IMeshSceneNode
A scene node displaying a static mesh.
Definition IMeshSceneNode.h:21
irr::scene::IMeshWriter
Interface for writing meshes.
Definition IMeshWriter.h:24
irr::scene::IMetaTriangleSelector
Interface for making multiple triangle selectors work as one big selector.
Definition IMetaTriangleSelector.h:21
irr::scene::IParticleSystemSceneNode
A particle system scene node for creating snow, fire, exlosions, smoke...
Definition IParticleSystemSceneNode.h:47
irr::scene::ISceneCollisionManager
The Scene Collision Manager provides methods for performing collision tests and picking on scene node...
Definition ISceneCollisionManager.h:25
irr::scene::ISceneLoader
Class which can load a scene into the scene manager.
Definition ISceneLoader.h:27
irr::scene::ISceneManager
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
Definition ISceneManager.h:151
irr::scene::ISceneManager::setLightManager
virtual void setLightManager(ILightManager *lightManager)=0
Register a custom callbacks manager which gets callbacks during scene rendering.
irr::scene::ISceneManager::createTriangleSelector
virtual ITriangleSelector * createTriangleSelector(IMesh *mesh, ISceneNode *node)=0
Creates a simple ITriangleSelector, based on a mesh.
irr::scene::ISceneManager::addWaterSurfaceSceneNode
virtual ISceneNode * addWaterSurfaceSceneNode(IMesh *mesh, f32 waveHeight=2.0f, f32 waveSpeed=300.0f, f32 waveLength=10.0f, ISceneNode *parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))=0
Adds a scene node for rendering a animated water surface mesh.
irr::scene::ISceneManager::drawAll
virtual void drawAll()=0
Draws all the scene nodes.
irr::scene::ISceneManager::setShadowColor
virtual void setShadowColor(video::SColor color=video::SColor(150, 0, 0, 0))=0
Sets the color of stencil buffers shadows drawn by the scene manager.
irr::scene::ISceneManager::createOctTreeTriangleSelector
_IRR_DEPRECATED_ ITriangleSelector * createOctTreeTriangleSelector(IMesh *mesh, ISceneNode *node, s32 minimalPolysPerNode=32)
//! Creates a Triangle Selector, optimized by an octree.
Definition ISceneManager.h:1343
irr::scene::ISceneManager::addToDeletionQueue
virtual void addToDeletionQueue(ISceneNode *node)=0
Adds a scene node to the deletion queue.
irr::scene::ISceneManager::getSceneNodeFromName
virtual ISceneNode * getSceneNodeFromName(const c8 *name, ISceneNode *start=0)=0
Get the first scene node with the specified name.
irr::scene::ISceneManager::getMeshCache
virtual IMeshCache * getMeshCache()=0
Get interface to the mesh cache which is shared beween all existing scene managers.
irr::scene::ISceneManager::addQuake3SceneNode
virtual IMeshSceneNode * addQuake3SceneNode(const IMeshBuffer *meshBuffer, const quake3::IShader *shader, ISceneNode *parent=0, s32 id=-1)=0
Adds a quake3 scene node to the scene graph.
irr::scene::ISceneManager::addSkyBoxSceneNode
virtual ISceneNode * addSkyBoxSceneNode(video::ITexture *top, video::ITexture *bottom, video::ITexture *left, video::ITexture *right, video::ITexture *front, video::ITexture *back, ISceneNode *parent=0, s32 id=-1)=0
Adds a skybox scene node to the scene graph.
irr::scene::ISceneManager::addTextSceneNode
virtual ITextSceneNode * addTextSceneNode(gui::IGUIFont *font, const wchar_t *text, video::SColor color=video::SColor(100, 255, 255, 255), ISceneNode *parent=0, const core::vector3df &position=core::vector3df(0, 0, 0), s32 id=-1)=0
Adds a text scene node, which is able to display 2d text at a position in three dimensional space.
irr::scene::ISceneManager::createTerrainTriangleSelector
virtual ITriangleSelector * createTerrainTriangleSelector(ITerrainSceneNode *node, s32 LOD=0)=0
Creates a triangle selector which can select triangles from a terrain scene node.
irr::scene::ISceneManager::getMesh
virtual IAnimatedMesh * getMesh(const io::path &filename)=0
Get pointer to an animateable mesh. Loads the file if not loaded already.
irr::scene::ISceneManager::loadScene
virtual bool loadScene(io::IReadFile *file, ISceneUserDataSerializer *userDataSerializer=0, ISceneNode *rootNode=0)=0
Loads a scene. Note that the current scene is not cleared before.
irr::scene::ISceneManager::addBillboardTextSceneNode
virtual IBillboardTextSceneNode * addBillboardTextSceneNode(gui::IGUIFont *font, const wchar_t *text, ISceneNode *parent=0, const core::dimension2d< f32 > &size=core::dimension2d< f32 >(10.0f, 10.0f), const core::vector3df &position=core::vector3df(0, 0, 0), s32 id=-1, video::SColor colorTop=0xFFFFFFFF, video::SColor colorBottom=0xFFFFFFFF)=0
Adds a text scene node, which uses billboards. The node, and the text on it, will scale with distance...
irr::scene::ISceneManager::getSceneNodeRenderPass
virtual E_SCENE_NODE_RENDER_PASS getSceneNodeRenderPass() const =0
Get current render pass.
irr::scene::ISceneManager::addOctreeSceneNode
virtual IMeshSceneNode * addOctreeSceneNode(IMesh *mesh, ISceneNode *parent=0, s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false)=0
Adds a scene node for rendering using a octree to the scene graph.
irr::scene::ISceneManager::getSceneCollisionManager
virtual ISceneCollisionManager * getSceneCollisionManager()=0
Get pointer to the scene collision manager.
irr::scene::ISceneManager::getAnimatorTypeName
virtual const c8 * getAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type)=0
Returns a typename from a scene node animator type or null if not found.
irr::scene::ISceneManager::addOctTreeSceneNode
_IRR_DEPRECATED_ IMeshSceneNode * addOctTreeSceneNode(IAnimatedMesh *mesh, ISceneNode *parent=0, s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false)
Adds a scene node for rendering using a octree to the scene graph.
Definition ISceneManager.h:566
irr::scene::ISceneManager::getSceneLoader
virtual ISceneLoader * getSceneLoader(u32 index) const =0
Retrieve the given scene loader.
irr::scene::ISceneManager::getSceneNodeFactory
virtual ISceneNodeFactory * getSceneNodeFactory(u32 index)=0
Get a scene node factory by index.
irr::scene::ISceneManager::createTriangleSelector
virtual ITriangleSelector * createTriangleSelector(IAnimatedMeshSceneNode *node)=0
Creates a simple ITriangleSelector, based on an animated mesh scene node.
irr::scene::ISceneManager::getSceneNodeFromId
virtual ISceneNode * getSceneNodeFromId(s32 id, ISceneNode *start=0)=0
Get the first scene node with the specified id.
irr::scene::ISceneManager::getSceneLoaderCount
virtual u32 getSceneLoaderCount() const =0
Returns the number of scene loaders supported by Irrlicht at this time.
irr::scene::ISceneManager::getRegisteredSceneNodeFactoryCount
virtual u32 getRegisteredSceneNodeFactoryCount() const =0
Get amount of registered scene node factories.
irr::scene::ISceneManager::createDeleteAnimator
virtual ISceneNodeAnimator * createDeleteAnimator(u32 timeMs)=0
Creates a scene node animator, which deletes the scene node after some time automatically.
irr::scene::ISceneManager::createFollowSplineAnimator
virtual ISceneNodeAnimator * createFollowSplineAnimator(s32 startTime, const core::array< core::vector3df > &points, f32 speed=1.0f, f32 tightness=0.5f, bool loop=true, bool pingpong=false)=0
Creates a follow spline animator.
irr::scene::ISceneManager::createTriangleSelectorFromBoundingBox
virtual ITriangleSelector * createTriangleSelectorFromBoundingBox(ISceneNode *node)=0
Creates a simple dynamic ITriangleSelector, based on a axis aligned bounding box.
irr::scene::ISceneManager::getSceneNodeTypeName
virtual const c8 * getSceneNodeTypeName(ESCENE_NODE_TYPE type)=0
Get typename from a scene node type or null if not found.
irr::scene::ISceneManager::getMesh
virtual IAnimatedMesh * getMesh(io::IReadFile *file)=0
Get pointer to an animateable mesh. Loads the file if not loaded already.
irr::scene::ISceneManager::addOctTreeSceneNode
_IRR_DEPRECATED_ IMeshSceneNode * addOctTreeSceneNode(IMesh *mesh, ISceneNode *parent=0, s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false)
Adds a scene node for rendering using a octree to the scene graph.
Definition ISceneManager.h:590
irr::scene::ISceneManager::createSkinnedMesh
virtual ISkinnedMesh * createSkinnedMesh()=0
Get a skinned mesh, which is not available as header-only code.
irr::scene::ISceneManager::getActiveCamera
virtual ICameraSceneNode * getActiveCamera() const =0
Get the current active camera.
irr::scene::ISceneManager::addSkyDomeSceneNode
virtual ISceneNode * addSkyDomeSceneNode(video::ITexture *texture, u32 horiRes=16, u32 vertRes=8, f32 texturePercentage=0.9, f32 spherePercentage=2.0, f32 radius=1000.f, ISceneNode *parent=0, s32 id=-1)=0
Adds a skydome scene node to the scene graph.
irr::scene::ISceneManager::addTerrainSceneNode
virtual ITerrainSceneNode * addTerrainSceneNode(const io::path &heightMapFileName, ISceneNode *parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0.0f, 0.0f, 0.0f), const core::vector3df &rotation=core::vector3df(0.0f, 0.0f, 0.0f), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f), video::SColor vertexColor=video::SColor(255, 255, 255, 255), s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0, bool addAlsoIfHeightmapEmpty=false)=0
Adds a terrain scene node to the scene graph.
irr::scene::ISceneManager::getVideoDriver
virtual video::IVideoDriver * getVideoDriver()=0
Get the video driver.
irr::scene::ISceneManager::setActiveCamera
virtual void setActiveCamera(ICameraSceneNode *camera)=0
Sets the currently active camera.
irr::scene::ISceneManager::saveScene
virtual bool saveScene(io::IWriteFile *file, ISceneUserDataSerializer *userDataSerializer=0, ISceneNode *node=0)=0
Saves the current scene into a file.
irr::scene::ISceneManager::getSceneNodeFromType
virtual ISceneNode * getSceneNodeFromType(scene::ESCENE_NODE_TYPE type, ISceneNode *start=0)=0
Get the first scene node with the specified type.
irr::scene::ISceneManager::getRootSceneNode
virtual ISceneNode * getRootSceneNode()=0
Gets the root scene node.
irr::scene::ISceneManager::getMeshLoader
virtual IMeshLoader * getMeshLoader(u32 index) const =0
Retrieve the given mesh loader.
irr::scene::ISceneManager::createMetaTriangleSelector
virtual IMetaTriangleSelector * createMetaTriangleSelector()=0
Creates a meta triangle selector.
irr::scene::ISceneManager::createOctreeTriangleSelector
virtual ITriangleSelector * createOctreeTriangleSelector(IMesh *mesh, ISceneNode *node, s32 minimalPolysPerNode=32)=0
Creates a Triangle Selector, optimized by an octree.
irr::scene::ISceneManager::saveScene
virtual bool saveScene(const io::path &filename, ISceneUserDataSerializer *userDataSerializer=0, ISceneNode *node=0)=0
Saves the current scene into a file.
irr::scene::ISceneManager::getDefaultSceneNodeFactory
virtual ISceneNodeFactory * getDefaultSceneNodeFactory()=0
Get the default scene node factory which can create all built in scene nodes.
irr::scene::ISceneManager::createMeshWriter
virtual IMeshWriter * createMeshWriter(EMESH_WRITER_TYPE type)=0
Get a mesh writer implementation if available.
irr::scene::ISceneManager::registerSceneNodeFactory
virtual void registerSceneNodeFactory(ISceneNodeFactory *factoryToAdd)=0
Adds a scene node factory to the scene manager.
irr::scene::ISceneManager::addParticleSystemSceneNode
virtual IParticleSystemSceneNode * addParticleSystemSceneNode(bool withDefaultEmitter=true, ISceneNode *parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))=0
Adds a particle system scene node to the scene graph.
irr::scene::ISceneManager::addTerrainMesh
virtual IAnimatedMesh * addTerrainMesh(const io::path &meshname, video::IImage *texture, video::IImage *heightmap, const core::dimension2d< f32 > &stretchSize=core::dimension2d< f32 >(10.0f, 10.0f), f32 maxHeight=200.0f, const core::dimension2d< u32 > &defaultVertexBlockSize=core::dimension2d< u32 >(64, 64))=0
Adds a static terrain mesh to the mesh pool.
irr::scene::ISceneManager::addMeshSceneNode
virtual IMeshSceneNode * addMeshSceneNode(IMesh *mesh, ISceneNode *parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f), bool alsoAddIfMeshPointerZero=false)=0
Adds a scene node for rendering a static mesh.
irr::scene::ISceneManager::addExternalMeshLoader
virtual void addExternalMeshLoader(IMeshLoader *externalLoader)=0
Adds an external mesh loader for extending the engine with new file formats.
irr::scene::ISceneManager::saveScene
virtual bool saveScene(io::IXMLWriter *writer, const io::path &currentPath, ISceneUserDataSerializer *userDataSerializer=0, ISceneNode *node=0)=0
Saves the current scene into a file.
irr::scene::ISceneManager::createTextureAnimator
virtual ISceneNodeAnimator * createTextureAnimator(const core::array< video::ITexture * > &textures, s32 timePerFrame, bool loop=true)=0
Creates a texture animator, which switches the textures of the target scene node based on a list of t...
irr::scene::ISceneManager::setAmbientLight
virtual void setAmbientLight(const video::SColorf &ambientColor)=0
Sets ambient color of the scene.
irr::scene::ISceneManager::getFileSystem
virtual io::IFileSystem * getFileSystem()=0
Get the active FileSystem.
irr::scene::ISceneManager::addCameraSceneNode
virtual ICameraSceneNode * addCameraSceneNode(ISceneNode *parent=0, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &lookat=core::vector3df(0, 0, 100), s32 id=-1, bool makeActive=true)=0
Adds a camera scene node to the scene graph and sets it as active camera.
irr::scene::ISceneManager::addExternalSceneLoader
virtual void addExternalSceneLoader(ISceneLoader *externalLoader)=0
Adds an external scene loader for extending the engine with new file formats.
irr::scene::ISceneManager::addEmptySceneNode
virtual ISceneNode * addEmptySceneNode(ISceneNode *parent=0, s32 id=-1)=0
Adds an empty scene node to the scene graph.
irr::scene::ISceneManager::addVolumeLightMesh
virtual IAnimatedMesh * addVolumeLightMesh(const io::path &name, const u32 SubdivideU=32, const u32 SubdivideV=32, const video::SColor FootColor=video::SColor(51, 0, 230, 180), const video::SColor TailColor=video::SColor(0, 0, 0, 0))=0
Add a volume light mesh to the meshpool.
irr::scene::ISceneManager::getSceneNodesFromType
virtual void getSceneNodesFromType(ESCENE_NODE_TYPE type, core::array< scene::ISceneNode * > &outNodes, ISceneNode *start=0)=0
Get scene nodes by type.
irr::scene::ISceneManager::createRotationAnimator
virtual ISceneNodeAnimator * createRotationAnimator(const core::vector3df &rotationSpeed)=0
Creates a rotation animator, which rotates the attached scene node around itself.
irr::scene::ISceneManager::loadScene
virtual bool loadScene(const io::path &filename, ISceneUserDataSerializer *userDataSerializer=0, ISceneNode *rootNode=0)=0
Loads a scene. Note that the current scene is not cleared before.
irr::scene::ISceneManager::createNewSceneManager
virtual ISceneManager * createNewSceneManager(bool cloneContent=false)=0
Creates a new scene manager.
irr::scene::ISceneManager::getParameters
virtual io::IAttributes * getParameters()=0
Get interface to the parameters set in this scene.
irr::scene::ISceneManager::getDefaultSceneNodeAnimatorFactory
virtual ISceneNodeAnimatorFactory * getDefaultSceneNodeAnimatorFactory()=0
Get the default scene node animator factory which can create all built-in scene node animators.
irr::scene::ISceneManager::registerNodeForRendering
virtual u32 registerNodeForRendering(ISceneNode *node, E_SCENE_NODE_RENDER_PASS pass=ESNRP_AUTOMATIC)=0
Registers a node for rendering it at a specific time.
irr::scene::ISceneManager::addAnimatedMeshSceneNode
virtual IAnimatedMeshSceneNode * addAnimatedMeshSceneNode(IAnimatedMesh *mesh, ISceneNode *parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f), bool alsoAddIfMeshPointerZero=false)=0
Adds a scene node for rendering an animated mesh model.
irr::scene::ISceneManager::getMeshManipulator
virtual IMeshManipulator * getMeshManipulator()=0
Get pointer to the mesh manipulator.
irr::scene::ISceneManager::clear
virtual void clear()=0
Clears the whole scene.
irr::scene::ISceneManager::getMeshLoaderCount
virtual u32 getMeshLoaderCount() const =0
Returns the number of mesh loaders supported by Irrlicht at this time.
irr::scene::ISceneManager::createCollisionResponseAnimator
virtual ISceneNodeAnimatorCollisionResponse * createCollisionResponseAnimator(ITriangleSelector *world, ISceneNode *sceneNode, const core::vector3df &ellipsoidRadius=core::vector3df(30, 60, 30), const core::vector3df &gravityPerSecond=core::vector3df(0,-10.0f, 0), const core::vector3df &ellipsoidTranslation=core::vector3df(0, 0, 0), f32 slidingValue=0.0005f)=0
Creates a special scene node animator for doing automatic collision detection and response.
irr::scene::ISceneManager::createFlyStraightAnimator
virtual ISceneNodeAnimator * createFlyStraightAnimator(const core::vector3df &startPoint, const core::vector3df &endPoint, u32 timeForWay, bool loop=false, bool pingpong=false)=0
Creates a fly straight animator, which lets the attached scene node fly or move along a line between ...
irr::scene::ISceneManager::addCameraSceneNodeFPS
virtual ICameraSceneNode * addCameraSceneNodeFPS(ISceneNode *parent=0, f32 rotateSpeed=100.0f, f32 moveSpeed=0.5f, s32 id=-1, SKeyMap *keyMapArray=0, s32 keyMapSize=0, bool noVerticalMovement=false, f32 jumpSpeed=0.f, bool invertMouse=false, bool makeActive=true)=0
Adds a camera scene node with an animator which provides mouse and keyboard control appropriate for f...
irr::scene::ISceneManager::getRegisteredSceneNodeAnimatorFactoryCount
virtual u32 getRegisteredSceneNodeAnimatorFactoryCount() const =0
Get amount of registered scene node animator factories.
irr::scene::ISceneManager::getGUIEnvironment
virtual gui::IGUIEnvironment * getGUIEnvironment()=0
Get the active GUIEnvironment.
irr::scene::ISceneManager::getSceneNodeAnimatorFactory
virtual ISceneNodeAnimatorFactory * getSceneNodeAnimatorFactory(u32 index)=0
Get scene node animator factory by index.
irr::scene::ISceneManager::getShadowColor
virtual video::SColor getShadowColor() const =0
Get the current color of shadows.
irr::scene::ISceneManager::postEventFromUser
virtual bool postEventFromUser(const SEvent &event)=0
Posts an input event to the environment.
irr::scene::ISceneManager::addSceneNode
virtual ISceneNode * addSceneNode(const char *sceneNodeTypeName, ISceneNode *parent=0)=0
Adds a scene node to the scene by name.
irr::scene::ISceneManager::addCubeSceneNode
virtual IMeshSceneNode * addCubeSceneNode(f32 size=10.0f, ISceneNode *parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))=0
Adds a cube scene node.
irr::scene::ISceneManager::getGeometryCreator
virtual const IGeometryCreator * getGeometryCreator(void) const =0
Get an instance of a geometry creator.
irr::scene::ISceneManager::addVolumeLightSceneNode
virtual IVolumeLightSceneNode * addVolumeLightSceneNode(ISceneNode *parent=0, s32 id=-1, const u32 subdivU=32, const u32 subdivV=32, const video::SColor foot=video::SColor(51, 0, 230, 180), const video::SColor tail=video::SColor(0, 0, 0, 0), const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))=0
adds Volume Lighting Scene Node.
irr::scene::ISceneManager::addArrowMesh
virtual IAnimatedMesh * addArrowMesh(const io::path &name, video::SColor vtxColorCylinder=0xFFFFFFFF, video::SColor vtxColorCone=0xFFFFFFFF, u32 tesselationCylinder=4, u32 tesselationCone=8, f32 height=1.f, f32 cylinderHeight=0.6f, f32 widthCylinder=0.05f, f32 widthCone=0.3f)=0
add a static arrow mesh to the meshpool
irr::scene::ISceneManager::addSphereSceneNode
virtual IMeshSceneNode * addSphereSceneNode(f32 radius=5.0f, s32 polyCount=16, ISceneNode *parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))=0
Adds a sphere scene node of the given radius and detail.
irr::scene::ISceneManager::addHillPlaneMesh
virtual IAnimatedMesh * addHillPlaneMesh(const io::path &name, const core::dimension2d< f32 > &tileSize, const core::dimension2d< u32 > &tileCount, video::SMaterial *material=0, f32 hillHeight=0.0f, const core::dimension2d< f32 > &countHills=core::dimension2d< f32 >(0.0f, 0.0f), const core::dimension2d< f32 > &textureRepeatCount=core::dimension2d< f32 >(1.0f, 1.0f))=0
Adds a Hill Plane mesh to the mesh pool.
irr::scene::ISceneManager::addDummyTransformationSceneNode
virtual IDummyTransformationSceneNode * addDummyTransformationSceneNode(ISceneNode *parent=0, s32 id=-1)=0
Adds a dummy transformation scene node to the scene graph.
irr::scene::ISceneManager::createSceneNodeAnimator
virtual ISceneNodeAnimator * createSceneNodeAnimator(const char *typeName, ISceneNode *target=0)=0
creates a scene node animator based on its type name
irr::scene::ISceneManager::addBillboardSceneNode
virtual IBillboardSceneNode * addBillboardSceneNode(ISceneNode *parent=0, const core::dimension2d< f32 > &size=core::dimension2d< f32 >(10.0f, 10.0f), const core::vector3df &position=core::vector3df(0, 0, 0), s32 id=-1, video::SColor colorTop=0xFFFFFFFF, video::SColor colorBottom=0xFFFFFFFF)=0
Adds a billboard scene node to the scene graph.
irr::scene::ISceneManager::addTerrainSceneNode
virtual ITerrainSceneNode * addTerrainSceneNode(io::IReadFile *heightMapFile, ISceneNode *parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0.0f, 0.0f, 0.0f), const core::vector3df &rotation=core::vector3df(0.0f, 0.0f, 0.0f), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f), video::SColor vertexColor=video::SColor(255, 255, 255, 255), s32 maxLOD=5, E_TERRAIN_PATCH_SIZE patchSize=ETPS_17, s32 smoothFactor=0, bool addAlsoIfHeightmapEmpty=false)=0
Adds a terrain scene node to the scene graph.
irr::scene::ISceneManager::addLightSceneNode
virtual ILightSceneNode * addLightSceneNode(ISceneNode *parent=0, const core::vector3df &position=core::vector3df(0, 0, 0), video::SColorf color=video::SColorf(1.0f, 1.0f, 1.0f), f32 radius=100.0f, s32 id=-1)=0
Adds a dynamic light scene node to the scene graph.
irr::scene::ISceneManager::addCameraSceneNodeMaya
virtual ICameraSceneNode * addCameraSceneNodeMaya(ISceneNode *parent=0, f32 rotateSpeed=-1500.f, f32 zoomSpeed=200.f, f32 translationSpeed=1500.f, s32 id=-1, f32 distance=70.f, bool makeActive=true)=0
Adds a maya style user controlled camera scene node to the scene graph.
irr::scene::ISceneManager::registerSceneNodeAnimatorFactory
virtual void registerSceneNodeAnimatorFactory(ISceneNodeAnimatorFactory *factoryToAdd)=0
Adds a scene node animator factory to the scene manager.
irr::scene::ISceneManager::getAmbientLight
virtual const video::SColorf & getAmbientLight() const =0
Get ambient color of the scene.
irr::scene::ISceneManager::addSphereMesh
virtual IAnimatedMesh * addSphereMesh(const io::path &name, f32 radius=5.f, u32 polyCountX=16, u32 polyCountY=16)=0
add a static sphere mesh to the meshpool
irr::scene::ISceneManager::createFlyCircleAnimator
virtual ISceneNodeAnimator * createFlyCircleAnimator(const core::vector3df &center=core::vector3df(0.f, 0.f, 0.f), f32 radius=100.f, f32 speed=0.001f, const core::vector3df &direction=core::vector3df(0.f, 1.f, 0.f), f32 startPosition=0.f, f32 radiusEllipsoid=0.f)=0
Creates a fly circle animator, which lets the attached scene node fly around a center.
irr::scene::ISceneManager::isCulled
virtual bool isCulled(const ISceneNode *node) const =0
Check if node is culled in current view frustum.
irr::scene::ISceneManager::addOctreeSceneNode
virtual IMeshSceneNode * addOctreeSceneNode(IAnimatedMesh *mesh, ISceneNode *parent=0, s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false)=0
Adds a scene node for rendering using a octree to the scene graph.
irr::scene::ISceneNodeAnimatorCollisionResponse
Special scene node animator for doing automatic collision detection and response.
Definition ISceneNodeAnimatorCollisionResponse.h:54
irr::scene::ISceneNodeAnimatorFactory
Interface for dynamic creation of scene node animators.
Definition ISceneNodeAnimatorFactory.h:28
irr::scene::ISceneNodeAnimator
Animates a scene node. Can animate position, rotation, material, and so on.
Definition ISceneNodeAnimator.h:31
irr::scene::ISceneNodeFactory
Interface for dynamic creation of scene nodes.
Definition ISceneNodeFactory.h:28
irr::scene::ISceneNode
Scene node interface.
Definition ISceneNode.h:41
irr::scene::ISceneUserDataSerializer
Interface to read and write user data to and from .irr files.
Definition ISceneUserDataSerializer.h:25
irr::scene::ISkinnedMesh
Interface for using some special functions of Skinned meshes.
Definition ISkinnedMesh.h:33
irr::scene::ITerrainSceneNode
A scene node for displaying terrain using the geo mip map algorithm.
Definition ITerrainSceneNode.h:50
irr::scene::ITextSceneNode
A scene node for displaying 2d text at a position in three dimensional space.
Definition ITextSceneNode.h:17
irr::scene::ITriangleSelector
Interface to return triangles with specific properties.
Definition ITriangleSelector.h:29
irr::scene::IVolumeLightSceneNode
Definition IVolumeLightSceneNode.h:19
irr::video::IImage
Interface for software image data.
Definition IImage.h:23
irr::video::ITexture
Interface of a Video Driver dependent Texture.
Definition ITexture.h:99
irr::video::IVideoDriver
Interface to driver which is able to perform 2d and 3d graphics functions.
Definition IVideoDriver.h:257
irr::video::SColor
Class representing a 32 bit ARGB color.
Definition SColor.h:202
irr::video::SColorf
Class representing a color with four floats.
Definition SColor.h:459
irr::video::SMaterial
Struct for holding parameters for a material renderer.
Definition SMaterial.h:227
dimension2d.h
irrArray.h
irrString.h
_IRR_DEPRECATED_
#define _IRR_DEPRECATED_
Defines a deprecated macro which generates a warning at compile time.
Definition irrTypes.h:195
irr::core::vector3df
vector3d< f32 > vector3df
Typedef for a f32 3d vector.
Definition vector3d.h:445
irr::gui
The gui namespace contains useful classes for easy creation of a graphical user interface.
Definition EGUIAlignment.h:11
irr::io
This namespace provides interfaces for input/output: Reading and writing files, accessing zip archive...
Definition EAttributes.h:11
irr::io::path
core::string< fschar_t > path
Type used for all file system related strings.
Definition path.h:17
irr::scene
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees a...
Definition CDynamicMeshBuffer.h:16
irr::scene::ESCENE_NODE_ANIMATOR_TYPE
ESCENE_NODE_ANIMATOR_TYPE
An enumeration for all types of built-in scene node animators.
Definition ESceneNodeAnimatorTypes.h:15
irr::scene::EMESH_WRITER_TYPE
EMESH_WRITER_TYPE
An enumeration for all supported types of built-in mesh writers.
Definition EMeshWriterEnums.h:20
irr::scene::E_TERRAIN_PATCH_SIZE
E_TERRAIN_PATCH_SIZE
enumeration for patch sizes specifying the size of patches in the TerrainSceneNode
Definition ETerrainElements.h:15
irr::scene::ETPS_17
@ ETPS_17
patch size of 17, at most, use 5 levels of detail with this patch size.
Definition ETerrainElements.h:20
irr::scene::E_SCENE_NODE_RENDER_PASS
E_SCENE_NODE_RENDER_PASS
Enumeration for render passes.
Definition ISceneManager.h:56
irr::scene::ESNRP_LIGHT
@ ESNRP_LIGHT
In this pass, lights are transformed into camera space and added to the driver.
Definition ISceneManager.h:64
irr::scene::ESNRP_NONE
@ ESNRP_NONE
No pass currently active.
Definition ISceneManager.h:58
irr::scene::ESNRP_CAMERA
@ ESNRP_CAMERA
Camera pass. The active view is set up here. The very first pass.
Definition ISceneManager.h:61
irr::scene::ESNRP_TRANSPARENT_EFFECT
@ ESNRP_TRANSPARENT_EFFECT
Transparent effect scene nodes, drawn after Transparent nodes. They are sorted from back to front and...
Definition ISceneManager.h:91
irr::scene::ESNRP_AUTOMATIC
@ ESNRP_AUTOMATIC
All normal objects can use this for registering themselves.
Definition ISceneManager.h:82
irr::scene::ESNRP_SKY_BOX
@ ESNRP_SKY_BOX
This is used for sky boxes.
Definition ISceneManager.h:67
irr::scene::ESNRP_SOLID
@ ESNRP_SOLID
Solid scene nodes or special scene nodes without materials.
Definition ISceneManager.h:85
irr::scene::ESNRP_TRANSPARENT
@ ESNRP_TRANSPARENT
Transparent scene nodes, drawn after solid nodes. They are sorted from back to front and drawn in tha...
Definition ISceneManager.h:88
irr::scene::ESNRP_SHADOW
@ ESNRP_SHADOW
Drawn after the solid nodes, before the transparent nodes, the time for drawing shadow volumes.
Definition ISceneManager.h:94
irr::scene::ESCENE_NODE_TYPE
ESCENE_NODE_TYPE
An enumeration for all types of built-in scene nodes.
Definition ESceneNodeTypes.h:20
irr::video
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done ...
Definition EDriverFeatures.h:11
irr
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
irr::f32
float f32
32 bit floating point variable.
Definition irrTypes.h:104
irr::u32
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.h:58
irr::c8
char c8
8 bit character variable.
Definition irrTypes.h:31
irr::s32
signed int s32
32 bit signed variable.
Definition irrTypes.h:66
path.h
irr::SEvent
SEvents hold information about an event. See irr::IEventReceiver for details on event handling.
Definition IEventReceiver.h:263
irr::SKeyMap
Struct storing which key belongs to which action.
Definition SKeyMap.h:30
irr::scene::quake3::IShader
A Parsed Shader Holding Variables ordered in Groups.
Definition IQ3Shader.h:639
vector3d.h
- Irrlicht Engine Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on for Irrlicht 3D Engine by Doxygen 1.15.0