Description | Hierarchy | Fields | Methods | Properties |
type TSceneManager = class(TReferenceCounted)
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
All Scene nodes can be created only here. There is a always growing list of scene nodes for lots of purposes: Indoor rendering scene nodes like the Octree (AddOctreeSceneNode()) or the terrain renderer (AddTerrainSceneNode()), different Camera scene nodes (AddCameraSceneNode(), AddCameraSceneNodeMaya()), scene nodes for Light (AddLightSceneNode()), Billboards (AddBillboardSceneNode()) and so on. A scene node is a node in the hierachical scene graph. Every scene node may have children, which are other scene nodes. Children move relative the their parents position. If the parent of a node is not visible, its children won't be visible, too. In this way, it is for example easily possible to attach a light to a moving car or to place a walking character on a moving platform on a moving ship. The SceneManager is also able to load 3d mesh files of different formats. Take a look at GetMesh() to find out what formats are supported. And if these formats are not enough use AddExternalMeshLoader() to add new formats to the engine.
![]() |
constructor Create(NReference: Pointer; NFileSystem: TFileSystem = nil; NGUIEnvironment: TGUIEnvironment = nil; NVideoDriver: TVideoDriver = nil); |
![]() |
function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode = nil; ID: LongInt = -1): TAnimatedMeshSceneNode; overload; inline; |
![]() |
function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TAnimatedMeshSceneNode; overload; inline; |
![]() |
function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; AlsoAddIfMeshPointerZero: Boolean = False): TAnimatedMeshSceneNode; overload; inline; |
![]() |
function AddArrowMesh(const Name: StringType; VtxColor0: TARGBColor = $ffffffff; VtxColor1: TARGBColor = $ffffffff; TesselationCylinder: LongWord = 4; TesselationCone: LongWord = 8; Height: Single = 1; CylinderHeight: Single = 0.6; Width0: Single = 0.05; Width1: Single = 0.3): TAnimatedMesh; inline; |
![]() |
function AddBillboardSceneNode(Parent: TSceneNode): TBillboardSceneNode; overload; inline; |
![]() |
function AddBillboardSceneNode(Parent: TSceneNode; const DSize: TDimension): TBillboardSceneNode; overload; inline; |
![]() |
function AddBillboardSceneNode(Parent: TSceneNode; const DSize: TDimension; const Position: TVector3D; ID: LongInt = -1; ColorTop: TARGBColor = $ffffffff; ColorBottom: TARGBColor = $ffffffff): TBillboardSceneNode; overload; inline; |
![]() |
function AddBillboardTextSceneNode(Font: TGUIFont; const Text: StringType; Parent: TSceneNode = nil): TBillboardTextSceneNode; overload; inline; |
![]() |
function AddBillboardTextSceneNode(Font: TGUIFont; const Text: StringType; Parent: TSceneNode; const DSize: TDimension): TBillboardTextSceneNode; overload; inline; |
![]() |
function AddBillboardTextSceneNode(Font: TGUIFont; const Text: StringType; Parent: TSceneNode; const DSize: TDimension; const Position: TVector3D; ID: LongInt = -1; ColorTop: TARGBColor = $ffffffff; ColorBottom: TARGBColor = $ffffffff): TBillboardTextSceneNode; overload; inline; |
![]() |
function AddCameraSceneNode(Parent: TSceneNode = nil): TCameraSceneNode; overload; inline; |
![]() |
function AddCameraSceneNode(Parent: TSceneNode; const Position, Target: TVector3D; ID: LongInt = -1; MakeActive: Boolean = True): TCameraSceneNode; overload; inline; |
![]() |
function AddCameraSceneNodeFPS(Parent: TSceneNode = nil; RotateSpeed: Single = 100; MoveSpeed: Single = 0.5; ID: LongInt = -1): TCameraSceneNode; overload; inline; |
![]() |
function AddCameraSceneNodeFPS(Parent: TSceneNode; RotateSpeed: Single; MoveSpeed: Single; ID: LongInt; KeyMap: array of TKeyMap; NoVerticalMovement: Boolean = False; JumpSpeed: Single = 0; InvertMouse: Boolean = False; MakeActive: Boolean = True): TCameraSceneNode; overload; |
![]() |
function AddCameraSceneNodeMaya(Parent: TSceneNode = nil; RotateSpeed: Single = -1500; ZoomSped: Single = 200; TranslationSpeed: Single = 1500; ID: LongInt = -1; MakeActive: Boolean = True): TCameraSceneNode; overload; inline; |
![]() |
function AddCubeSceneNode(Size: Single = 10; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline; |
![]() |
function AddCubeSceneNode(Size: Single; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline; |
![]() |
function AddCubeSceneNode(Size: Single; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TMeshSceneNode; overload; inline; |
![]() |
function AddDummyTransformationSceneNode(Parent: TSceneNode = nil; ID: LongInt = -1): TDummyTransformationSceneNode; overload; inline; |
![]() |
function AddEmptySceneNode(Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; inline; |
![]() |
function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial; HillHeight: Single; const CountHills: TDimension): TAnimatedMesh; overload; inline; |
![]() |
function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial; HillHeight: Single; const CountHills, TextureRepeatCount: TDimension): TAnimatedMesh; overload; inline; |
![]() |
function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial = nil; HillHeight: Single=0): TAnimatedMesh; overload; inline; |
![]() |
function AddLightSceneNode(Parent: TSceneNode; const Position: TVector3D) : TLightSceneNode; overload; inline; |
![]() |
function AddLightSceneNode(Parent: TSceneNode = nil): TLightSceneNode; overload; inline; |
![]() |
function AddLightSceneNode(Parent: TSceneNode; const Position: TVector3D; Color: TFloatColor; Radius: Single = 100; ID: LongInt = -1): TLightSceneNode; overload; inline; |
![]() |
function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline; |
![]() |
function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline; |
![]() |
function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline; |
![]() |
function AddOctreeSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode = nil; ID: LongInt = -1; MinimalPolysPerNode: LongInt = 256; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline; |
![]() |
function AddOctreeSceneNode(Mesh: TMesh; Parent: TSceneNode = nil; ID: LongInt = -1; MinimalPolysPerNode: LongInt = 256; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline; |
![]() |
function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TParticleSystemSceneNode; overload; inline; |
![]() |
function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean = True; Parent: TSceneNode = nil; ID: LongInt = -1): TParticleSystemSceneNode; overload; inline; |
![]() |
function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TParticleSystemSceneNode; overload; inline; |
![]() |
function AddQuake3SceneNode(Buffer: TMeshBuffer; Shader: TQuake3Shader; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline; |
![]() |
function AddSceneNode(const SceneNodeTypeName: AnsiString; Parent: TSceneNode = nil): TSceneNode; inline; |
![]() |
function AddSkyBoxSceneNode(Top, Bottom, Left, Right, Front, Back: TTexture; Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; inline; |
![]() |
function AddSkyDomeSceneNode(Texture: TTexture; HorzRes: LongWord = 16; VertRes: LongWord = 8; TexturePercentage: Single = 0.9; SpherePercentage: Single = 2.0; Radius: Single = 1000; Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; inline; |
![]() |
function AddSphereMesh(const Name: StringType; Radius: Single = 5; PolyCountX: LongWord = 16; PolyCountY: LongWord = 16): TAnimatedMesh; inline; |
![]() |
function AddSphereSceneNode(Radius: Single; PolyCount: LongInt; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline; |
![]() |
function AddSphereSceneNode(Radius: Single = 5.0; PolyCount: LongInt = 16; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline; |
![]() |
function AddSphereSceneNode(Radius: Single; PolyCount: LongInt; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TMeshSceneNode; overload; inline; |
![]() |
function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage; StretchSize: TDimension; MaxHeight: Single = 200): TAnimatedMesh; overload; inline; |
![]() |
function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage): TAnimatedMesh; overload; inline; |
![]() |
function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage; StretchSize: TDimension; MaxHeight: Single; DefaultVertexBlockSize: TSize): TAnimatedMesh; overload; inline; |
![]() |
function AddTerrainSceneNode(const HeightMapFile: StringType; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; VertexColor: TARGBColor = $ffffffff; MaxLOD: LongInt = 5; PatchSize: TTerrainPatchSize = tpSize17; SmoothFactor: LongInt = 0; ForceAdd: Boolean = False): TTerrainSceneNode; overload; inline; |
![]() |
function AddTerrainSceneNode(const HeightMapFile: StringType; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TTerrainSceneNode; overload; inline; |
![]() |
function AddTerrainSceneNode(const HeightMapFile: StringType; Parent: TSceneNode = nil; ID: LongInt = -1): TTerrainSceneNode; overload; inline; |
![]() |
function AddTerrainSceneNode(HeightMapFile: TReadFile; Parent: TSceneNode = nil; ID: LongInt = -1): TTerrainSceneNode; overload; inline; |
![]() |
function AddTerrainSceneNode(HeightMapFile: TReadFile; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; VertexColor: TARGBColor = $ffffffff; MaxLOD: LongInt = 5; PatchSize: TTerrainPatchSize = tpSize17; SmoothFactor: LongInt = 0; ForceAdd: Boolean = False): TTerrainSceneNode; overload; inline; |
![]() |
function AddTerrainSceneNode(HeightMapFile: TReadFile; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TTerrainSceneNode; overload; inline; |
![]() |
function AddTextSceneNode(Font: TGUIFont; const Text: StringType; Color: TARGBColor; Parent: TSceneNode; Position: TVector3D; ID: LongInt = -1): TTextSceneNode; overload; inline; |
![]() |
function AddTextSceneNode(Font: TGUIFont; const Text: StringType; Color: TARGBColor = $64ffffff; Parent: TSceneNode = nil): TTextSceneNode; overload; inline; |
![]() |
function AddVolumeLightMesh(const Name: StringType; SubdivideU: LongWord = 32; SubdivideV: LongWord = 32; FootColor: TARGBColor = $3300e6b4; TailColor: TARGBColor = $00000000): TAnimatedMesh; overload; inline; |
![]() |
function AddVolumeLightSceneNode(Parent: TSceneNode; ID: LongInt; SubdivU, SubdivV: LongWord; FootColor, TailColor: TARGBColor; const Position, Rotation, Scale: TVector3D): TVolumeLightSceneNode; overload; inline; |
![]() |
function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt, WaveSpeed, WaveLength: Single; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TSceneNode; overload; inline; |
![]() |
function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt: Single = 2; WaveSpeed: Single = 300; WaveLength: Single = 10; Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; overload; inline; |
![]() |
function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt, WaveSpeed, WaveLength: Single; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TSceneNode; overload; inline; |
![]() |
function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius, GravityPerSecond, EllipsoidTranslation: TVector3D; SlidingValue: Single = 0.0005): TSceneNodeAnimatorCollisionResponse; overload; inline; |
![]() |
function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius, GravityPerSecond: TVector3D): TSceneNodeAnimatorCollisionResponse; overload; inline; |
![]() |
function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius: TVector3D): TSceneNodeAnimatorCollisionResponse; overload; inline; |
![]() |
function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode): TSceneNodeAnimatorCollisionResponse; overload; inline; |
![]() |
function CreateDeleteAnimator(TimeMs: LongWord): TSceneNodeAnimator; |
![]() |
function CreateFlyCircleAnimator(const Center: TVector3D; Radius, Speed: Single; const Direction: TVector3D; StartPosition: Single = 0; RadiusEllipsoid: Single = 0): TSceneNodeAnimator; overload; inline; |
![]() |
function CreateFlyCircleAnimator(const Center: TVector3D; Radius: Single =100; Speed: Single = 0.001): TSceneNodeAnimator; overload; inline; |
![]() |
function CreateFlyCircleAnimator: TSceneNodeAnimator; overload; inline; |
![]() |
function CreateFlyStraightAnimator(const StartPoint, EndPoint: TVector3D; TimeForWay: LongWord; Loop: Boolean = False; PingPong: Boolean = False): TSceneNodeAnimator; inline; |
![]() |
function CreateFollowSplineAnimator(StartTime: LongInt; const Points: array of TVector3D; Speed: Single = 1; Tightness: Single = 0.5; Loop: Boolean = True; PingPong: Boolean = False): TSceneNodeAnimator; |
![]() |
function CreateMeshWriter(MType: TMeshWriterType): TMeshWriter; inline; |
![]() |
function CreateMetaTriangleSelector: TMetaTriangleSelector; inline; |
![]() |
function CreateNewSceneManager(CloneContent: Boolean = False): TSceneManager; inline; |
![]() |
function CreateOctreeTriangleSelector(Mesh: TMesh; Node: TSceneNode; MinPolysPerNode: LongInt = 32): TTriangleSelector; inline; |
![]() |
function CreateRotationAnimator(const RotationSpeed: TVector3D): TSceneNodeAnimator; inline; |
![]() |
function CreateSkinnedMesh: TSkinnedMesh; inline; |
![]() |
function CreateTerrainTriangleSelector(Node: TTerrainSceneNode; LOD: LongInt = 0): TTriangleSelector; inline; |
![]() |
function CreateTextureAnimator(Textures: array of TTexture; TimePerFrame: LongInt; Loop: Boolean = True): TSceneNodeAnimator; |
![]() |
function CreateTriangleSelector(Mesh: TMesh; Node: TSceneNode): TTriangleSelector; overload; inline; |
![]() |
function CreateTriangleSelector(Node: TAnimatedMeshSceneNode): TTriangleSelector; overload; inline; |
![]() |
function CreateTriangleSelectorFromBoundinBox(Node: TSceneNode): TTriangleSelector; inline; |
![]() |
function DefaultSceneNodeAnimatorFactory: TSceneNodeAnimatorFactory; inline; |
![]() |
function DefaultSceneNodeFactory: TSceneNodeFactory; inline; |
![]() |
function GeometryCreator: TGeometryCreator; inline; |
![]() |
function GetAnimatorTypeName(AType: TSceneNodeAnimatorType): AnsiString; inline; |
![]() |
function GetMesh(RFile: TReadFile): TAnimatedMesh; overload; inline; |
![]() |
function GetMesh(const FileName: StringType): TAnimatedMesh; overload; inline; |
![]() |
function GetSceneNodeAnimatorFactory(Index: LongWord): TSceneNodeAnimatorFactory; inline; |
![]() |
function GetSceneNodeFactory(Index: LongWord): TSceneNodeFactory; inline; |
![]() |
function GetSceneNodeFromID(ID: LongInt; Start: TSceneNode = nil): TSceneNode; inline; |
![]() |
function GetSceneNodeFromName(const Name: AnsiString; Start: TSceneNode = nil): TSceneNode; inline; |
![]() |
function GetSceneNodeFromType(NType: TSceneNodeType; Start: TSceneNode = nil): TSceneNode; inline; |
![]() |
function GetSceneNodesFromType(NType: TSceneNodeType; Start: TSceneNode = nil): TSceneNodeArray; |
![]() |
function IsCulled(Node: TSceneNode): Boolean; inline; |
![]() |
function LoadScene(const FileName: StringType; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline; |
![]() |
function LoadScene(RFile: TReadFile; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline; |
![]() |
function MeshCache: TMeshCache; inline; |
![]() |
function Parameters: TAttributes; inline; |
![]() |
function PostEventFromUser(Event: TIrrlichtEvent): Boolean; inline; |
![]() |
function RegisteredSceneNodeAnimatorFactoryCount: LongWord; inline; |
![]() |
function RegisteredSceneNodeFactoryCount: LongWord; inline; |
![]() |
function RegisterNodeForRendering(Node: TSceneNode; Pass: TSceneNodeRenderPass = srpAutomatic): LongWord; inline; |
![]() |
function RootSceneNode: TSceneNode; inline; |
![]() |
function SaveScene(WFile: TWriteFile; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline; |
![]() |
function SaveScene(const FileName: StringType; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline; |
![]() |
function SceneCollisionManager: TSceneCollisionManager; inline; |
![]() |
function SceneNodeRenderPass: TSceneNodeRenderPass; inline; |
![]() |
procedure AddExternalMeshLoader(Loader: TMeshLoader); inline; |
![]() |
procedure AddToDeletionQueue(Node: TSceneNode); inline; |
![]() |
procedure Clear; inline; |
![]() |
procedure DrawAll; inline; |
![]() |
procedure RegisterSceneNodeAnimatorFactory(FactoryToAdd: TSceneNodeAnimatorFactory); inline; |
![]() |
procedure RegisterSceneNodeFactory(FactoryToAdd: TSceneNodeFactory); inline; |
![]() |
procedure SetLightManager(LightManager: TLightManager); inline; |
![]() |
property ActiveCamera: TCameraSceneNode read GetActiveCamera write SetActiveCamera; |
![]() |
property AmbientLight: TFloatColor read GetAmbientLight write SetAmbientLight; |
![]() |
property FileSystem: TFileSystem read FFileSystem; |
![]() |
property GUIEnvironment: TGUIEnvironment read FGUIEnvironment; |
![]() |
property ShadowColor: TARGBColor read GetShadowColor write SetShadowColor; |
![]() |
property VideoDriver: TVideoDriver read FVideoDriver; |
![]() |
constructor Create(NReference: Pointer; NFileSystem: TFileSystem = nil; NGUIEnvironment: TGUIEnvironment = nil; NVideoDriver: TVideoDriver = nil); |
Constructor. Only used internally. |
![]() |
function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode = nil; ID: LongInt = -1): TAnimatedMeshSceneNode; overload; inline; |
Adds a scene node for rendering an animated mesh model. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TAnimatedMeshSceneNode; overload; inline; |
Adds a scene node for rendering an animated mesh model. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; AlsoAddIfMeshPointerZero: Boolean = False): TAnimatedMeshSceneNode; overload; inline; |
Adds a scene node for rendering an animated mesh model. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddArrowMesh(const Name: StringType; VtxColor0: TARGBColor = $ffffffff; VtxColor1: TARGBColor = $ffffffff; TesselationCylinder: LongWord = 4; TesselationCone: LongWord = 8; Height: Single = 1; CylinderHeight: Single = 0.6; Width0: Single = 0.05; Width1: Single = 0.3): TAnimatedMesh; inline; |
Adds a static arrow mesh to the meshpool. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddBillboardSceneNode(Parent: TSceneNode): TBillboardSceneNode; overload; inline; |
Adds a billboard scene node to the scene graph. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddBillboardSceneNode(Parent: TSceneNode; const DSize: TDimension): TBillboardSceneNode; overload; inline; |
Adds a billboard scene node to the scene graph. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddBillboardSceneNode(Parent: TSceneNode; const DSize: TDimension; const Position: TVector3D; ID: LongInt = -1; ColorTop: TARGBColor = $ffffffff; ColorBottom: TARGBColor = $ffffffff): TBillboardSceneNode; overload; inline; |
Adds a billboard scene node to the scene graph. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddBillboardTextSceneNode(Font: TGUIFont; const Text: StringType; Parent: TSceneNode = nil): TBillboardTextSceneNode; overload; inline; |
Adds a text scene node, which uses billboards. The node, and the text on it, will scale with distance. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddBillboardTextSceneNode(Font: TGUIFont; const Text: StringType; Parent: TSceneNode; const DSize: TDimension): TBillboardTextSceneNode; overload; inline; |
Adds a text scene node, which uses billboards. The node, and the text on it, will scale with distance. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddBillboardTextSceneNode(Font: TGUIFont; const Text: StringType; Parent: TSceneNode; const DSize: TDimension; const Position: TVector3D; ID: LongInt = -1; ColorTop: TARGBColor = $ffffffff; ColorBottom: TARGBColor = $ffffffff): TBillboardTextSceneNode; overload; inline; |
Adds a text scene node, which uses billboards. The node, and the text on it, will scale with distance. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddCameraSceneNode(Parent: TSceneNode = nil): TCameraSceneNode; overload; inline; |
Adds a camera scene node to the scene graph and sets it as active camera. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddCameraSceneNode(Parent: TSceneNode; const Position, Target: TVector3D; ID: LongInt = -1; MakeActive: Boolean = True): TCameraSceneNode; overload; inline; |
Adds a camera scene node to the scene graph and sets it as active camera. Parameters
ReturnsThe created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information. |
![]() |
function AddCameraSceneNodeFPS(Parent: TSceneNode = nil; RotateSpeed: Single = 100; MoveSpeed: Single = 0.5; ID: LongInt = -1): TCameraSceneNode; overload; inline; |
Adds a camera scene node with an animator which provides mouse and keyboard control appropriate for first person shooters (FPS). Parameters
ReturnsThe interface of the camera if successful, otherwise nil. This pointer should not be dropped. See TReferenceCounted.Drop() for more information. |
![]() |
function AddCameraSceneNodeFPS(Parent: TSceneNode; RotateSpeed: Single; MoveSpeed: Single; ID: LongInt; KeyMap: array of TKeyMap; NoVerticalMovement: Boolean = False; JumpSpeed: Single = 0; InvertMouse: Boolean = False; MakeActive: Boolean = True): TCameraSceneNode; overload; |
Adds a camera scene node with an animator which provides mouse and keyboard control appropriate for first person shooters (FPS). var KeyMap: array[0..7] of TKeyMap; Camera: TCameraSceneNode; ... keyMap[0].Action := kaMoveForward keyMap[0].KeyCode := keyUp; keyMap[1].Action := kaMoveForward; keyMap[1].KeyCode := keyLetterW; keyMap[2].Action := kaMoveBackward; keyMap[2].KeyCode := keyDown; keyMap[3].Action := kaMoveBackward ; keyMap[3].KeyCode := keyLetterS; keyMap[4].Action := kaStrafeLeft; keyMap[4].KeyCode := keyLeft; keyMap[5].Action := kaStrafeLeft; keyMap[5].KeyCode := keyLetterA; keyMap[6].Action := kaStrafeRight; keyMap[6].KeyCode := keyRight; keyMap[7].Action := kaStrafeRight keyMap[7].KeyCode := keyLetterD; Camera := SceneManager.AddCameraSceneNodeFPS(0, 100, 500, -1, KeyMap, 8);
Parameters
ReturnsThe interface of the camera if successful, otherwise nil. This pointer should not be dropped. See TReferenceCounted.Drop() for more information. |
![]() |
function AddCameraSceneNodeMaya(Parent: TSceneNode = nil; RotateSpeed: Single = -1500; ZoomSped: Single = 200; TranslationSpeed: Single = 1500; ID: LongInt = -1; MakeActive: Boolean = True): TCameraSceneNode; overload; inline; |
![]() |
function AddCubeSceneNode(Size: Single = 10; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline; |
![]() |
function AddCubeSceneNode(Size: Single; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline; |
![]() |
function AddCubeSceneNode(Size: Single; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TMeshSceneNode; overload; inline; |
![]() |
function AddDummyTransformationSceneNode(Parent: TSceneNode = nil; ID: LongInt = -1): TDummyTransformationSceneNode; overload; inline; |
![]() |
function AddEmptySceneNode(Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; inline; |
![]() |
function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial; HillHeight: Single; const CountHills: TDimension): TAnimatedMesh; overload; inline; |
![]() |
function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial; HillHeight: Single; const CountHills, TextureRepeatCount: TDimension): TAnimatedMesh; overload; inline; |
![]() |
function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial = nil; HillHeight: Single=0): TAnimatedMesh; overload; inline; |
![]() |
function AddLightSceneNode(Parent: TSceneNode; const Position: TVector3D) : TLightSceneNode; overload; inline; |
![]() |
function AddLightSceneNode(Parent: TSceneNode = nil): TLightSceneNode; overload; inline; |
![]() |
function AddLightSceneNode(Parent: TSceneNode; const Position: TVector3D; Color: TFloatColor; Radius: Single = 100; ID: LongInt = -1): TLightSceneNode; overload; inline; |
![]() |
function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline; |
![]() |
function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline; |
![]() |
function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline; |
![]() |
function AddOctreeSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode = nil; ID: LongInt = -1; MinimalPolysPerNode: LongInt = 256; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline; |
![]() |
function AddOctreeSceneNode(Mesh: TMesh; Parent: TSceneNode = nil; ID: LongInt = -1; MinimalPolysPerNode: LongInt = 256; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline; |
![]() |
function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TParticleSystemSceneNode; overload; inline; |
![]() |
function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean = True; Parent: TSceneNode = nil; ID: LongInt = -1): TParticleSystemSceneNode; overload; inline; |
![]() |
function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TParticleSystemSceneNode; overload; inline; |
![]() |
function AddQuake3SceneNode(Buffer: TMeshBuffer; Shader: TQuake3Shader; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline; |
![]() |
function AddSceneNode(const SceneNodeTypeName: AnsiString; Parent: TSceneNode = nil): TSceneNode; inline; |
![]() |
function AddSkyBoxSceneNode(Top, Bottom, Left, Right, Front, Back: TTexture; Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; inline; |
![]() |
function AddSkyDomeSceneNode(Texture: TTexture; HorzRes: LongWord = 16; VertRes: LongWord = 8; TexturePercentage: Single = 0.9; SpherePercentage: Single = 2.0; Radius: Single = 1000; Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; inline; |
![]() |
function AddSphereMesh(const Name: StringType; Radius: Single = 5; PolyCountX: LongWord = 16; PolyCountY: LongWord = 16): TAnimatedMesh; inline; |
![]() |
function AddSphereSceneNode(Radius: Single; PolyCount: LongInt; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline; |
![]() |
function AddSphereSceneNode(Radius: Single = 5.0; PolyCount: LongInt = 16; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline; |
![]() |
function AddSphereSceneNode(Radius: Single; PolyCount: LongInt; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TMeshSceneNode; overload; inline; |
![]() |
function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage; StretchSize: TDimension; MaxHeight: Single = 200): TAnimatedMesh; overload; inline; |
![]() |
function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage): TAnimatedMesh; overload; inline; |
![]() |
function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage; StretchSize: TDimension; MaxHeight: Single; DefaultVertexBlockSize: TSize): TAnimatedMesh; overload; inline; |
![]() |
function AddTerrainSceneNode(const HeightMapFile: StringType; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; VertexColor: TARGBColor = $ffffffff; MaxLOD: LongInt = 5; PatchSize: TTerrainPatchSize = tpSize17; SmoothFactor: LongInt = 0; ForceAdd: Boolean = False): TTerrainSceneNode; overload; inline; |
![]() |
function AddTerrainSceneNode(const HeightMapFile: StringType; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TTerrainSceneNode; overload; inline; |
![]() |
function AddTerrainSceneNode(const HeightMapFile: StringType; Parent: TSceneNode = nil; ID: LongInt = -1): TTerrainSceneNode; overload; inline; |
![]() |
function AddTerrainSceneNode(HeightMapFile: TReadFile; Parent: TSceneNode = nil; ID: LongInt = -1): TTerrainSceneNode; overload; inline; |
![]() |
function AddTerrainSceneNode(HeightMapFile: TReadFile; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; VertexColor: TARGBColor = $ffffffff; MaxLOD: LongInt = 5; PatchSize: TTerrainPatchSize = tpSize17; SmoothFactor: LongInt = 0; ForceAdd: Boolean = False): TTerrainSceneNode; overload; inline; |
![]() |
function AddTerrainSceneNode(HeightMapFile: TReadFile; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TTerrainSceneNode; overload; inline; |
![]() |
function AddTextSceneNode(Font: TGUIFont; const Text: StringType; Color: TARGBColor; Parent: TSceneNode; Position: TVector3D; ID: LongInt = -1): TTextSceneNode; overload; inline; |
![]() |
function AddTextSceneNode(Font: TGUIFont; const Text: StringType; Color: TARGBColor = $64ffffff; Parent: TSceneNode = nil): TTextSceneNode; overload; inline; |
![]() |
function AddVolumeLightMesh(const Name: StringType; SubdivideU: LongWord = 32; SubdivideV: LongWord = 32; FootColor: TARGBColor = $3300e6b4; TailColor: TARGBColor = $00000000): TAnimatedMesh; overload; inline; |
![]() |
function AddVolumeLightSceneNode(Parent: TSceneNode; ID: LongInt; SubdivU, SubdivV: LongWord; FootColor, TailColor: TARGBColor; const Position, Rotation, Scale: TVector3D): TVolumeLightSceneNode; overload; inline; |
![]() |
function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt, WaveSpeed, WaveLength: Single; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TSceneNode; overload; inline; |
![]() |
function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt: Single = 2; WaveSpeed: Single = 300; WaveLength: Single = 10; Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; overload; inline; |
![]() |
function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt, WaveSpeed, WaveLength: Single; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TSceneNode; overload; inline; |
![]() |
function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius, GravityPerSecond, EllipsoidTranslation: TVector3D; SlidingValue: Single = 0.0005): TSceneNodeAnimatorCollisionResponse; overload; inline; |
![]() |
function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius, GravityPerSecond: TVector3D): TSceneNodeAnimatorCollisionResponse; overload; inline; |
![]() |
function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius: TVector3D): TSceneNodeAnimatorCollisionResponse; overload; inline; |
![]() |
function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode): TSceneNodeAnimatorCollisionResponse; overload; inline; |
![]() |
function CreateDeleteAnimator(TimeMs: LongWord): TSceneNodeAnimator; |
![]() |
function CreateFlyCircleAnimator(const Center: TVector3D; Radius, Speed: Single; const Direction: TVector3D; StartPosition: Single = 0; RadiusEllipsoid: Single = 0): TSceneNodeAnimator; overload; inline; |
![]() |
function CreateFlyCircleAnimator(const Center: TVector3D; Radius: Single =100; Speed: Single = 0.001): TSceneNodeAnimator; overload; inline; |
![]() |
function CreateFlyCircleAnimator: TSceneNodeAnimator; overload; inline; |
![]() |
function CreateFlyStraightAnimator(const StartPoint, EndPoint: TVector3D; TimeForWay: LongWord; Loop: Boolean = False; PingPong: Boolean = False): TSceneNodeAnimator; inline; |
![]() |
function CreateFollowSplineAnimator(StartTime: LongInt; const Points: array of TVector3D; Speed: Single = 1; Tightness: Single = 0.5; Loop: Boolean = True; PingPong: Boolean = False): TSceneNodeAnimator; |
![]() |
function CreateMeshWriter(MType: TMeshWriterType): TMeshWriter; inline; |
![]() |
function CreateMetaTriangleSelector: TMetaTriangleSelector; inline; |
![]() |
function CreateNewSceneManager(CloneContent: Boolean = False): TSceneManager; inline; |
![]() |
function CreateOctreeTriangleSelector(Mesh: TMesh; Node: TSceneNode; MinPolysPerNode: LongInt = 32): TTriangleSelector; inline; |
![]() |
function CreateRotationAnimator(const RotationSpeed: TVector3D): TSceneNodeAnimator; inline; |
![]() |
function CreateSkinnedMesh: TSkinnedMesh; inline; |
![]() |
function CreateTerrainTriangleSelector(Node: TTerrainSceneNode; LOD: LongInt = 0): TTriangleSelector; inline; |
![]() |
function CreateTextureAnimator(Textures: array of TTexture; TimePerFrame: LongInt; Loop: Boolean = True): TSceneNodeAnimator; |
![]() |
function CreateTriangleSelector(Mesh: TMesh; Node: TSceneNode): TTriangleSelector; overload; inline; |
![]() |
function CreateTriangleSelector(Node: TAnimatedMeshSceneNode): TTriangleSelector; overload; inline; |
![]() |
function CreateTriangleSelectorFromBoundinBox(Node: TSceneNode): TTriangleSelector; inline; |
![]() |
function DefaultSceneNodeAnimatorFactory: TSceneNodeAnimatorFactory; inline; |
![]() |
function DefaultSceneNodeFactory: TSceneNodeFactory; inline; |
![]() |
function GeometryCreator: TGeometryCreator; inline; |
![]() |
function GetAnimatorTypeName(AType: TSceneNodeAnimatorType): AnsiString; inline; |
![]() |
function GetMesh(RFile: TReadFile): TAnimatedMesh; overload; inline; |
![]() |
function GetMesh(const FileName: StringType): TAnimatedMesh; overload; inline; |
![]() |
function GetSceneNodeAnimatorFactory(Index: LongWord): TSceneNodeAnimatorFactory; inline; |
![]() |
function GetSceneNodeFactory(Index: LongWord): TSceneNodeFactory; inline; |
![]() |
function GetSceneNodeFromID(ID: LongInt; Start: TSceneNode = nil): TSceneNode; inline; |
![]() |
function GetSceneNodeFromName(const Name: AnsiString; Start: TSceneNode = nil): TSceneNode; inline; |
![]() |
function GetSceneNodeFromType(NType: TSceneNodeType; Start: TSceneNode = nil): TSceneNode; inline; |
![]() |
function GetSceneNodesFromType(NType: TSceneNodeType; Start: TSceneNode = nil): TSceneNodeArray; |
![]() |
function IsCulled(Node: TSceneNode): Boolean; inline; |
![]() |
function LoadScene(const FileName: StringType; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline; |
![]() |
function LoadScene(RFile: TReadFile; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline; |
![]() |
function MeshCache: TMeshCache; inline; |
![]() |
function Parameters: TAttributes; inline; |
![]() |
function PostEventFromUser(Event: TIrrlichtEvent): Boolean; inline; |
![]() |
function RegisteredSceneNodeAnimatorFactoryCount: LongWord; inline; |
![]() |
function RegisteredSceneNodeFactoryCount: LongWord; inline; |
![]() |
function RegisterNodeForRendering(Node: TSceneNode; Pass: TSceneNodeRenderPass = srpAutomatic): LongWord; inline; |
![]() |
function RootSceneNode: TSceneNode; inline; |
![]() |
function SaveScene(WFile: TWriteFile; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline; |
![]() |
function SaveScene(const FileName: StringType; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline; |
![]() |
function SceneCollisionManager: TSceneCollisionManager; inline; |
![]() |
function SceneNodeRenderPass: TSceneNodeRenderPass; inline; |
![]() |
procedure AddExternalMeshLoader(Loader: TMeshLoader); inline; |
![]() |
procedure AddToDeletionQueue(Node: TSceneNode); inline; |
![]() |
procedure Clear; inline; |
![]() |
procedure DrawAll; inline; |
![]() |
procedure RegisterSceneNodeAnimatorFactory(FactoryToAdd: TSceneNodeAnimatorFactory); inline; |
![]() |
procedure RegisterSceneNodeFactory(FactoryToAdd: TSceneNodeFactory); inline; |
![]() |
procedure SetLightManager(LightManager: TLightManager); inline; |
![]() |
property ActiveCamera: TCameraSceneNode read GetActiveCamera write SetActiveCamera; |
![]() |
property AmbientLight: TFloatColor read GetAmbientLight write SetAmbientLight; |
![]() |
property FileSystem: TFileSystem read FFileSystem; |
![]() |
property GUIEnvironment: TGUIEnvironment read FGUIEnvironment; |
![]() |
property ShadowColor: TARGBColor read GetShadowColor write SetShadowColor; |
![]() |
property VideoDriver: TVideoDriver read FVideoDriver; |