Class TSceneManager

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TSceneManager = class(TReferenceCounted)

Description

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.

Hierarchy

Overview

Methods

Public constructor Create(NReference: Pointer; NFileSystem: TFileSystem = nil; NGUIEnvironment: TGUIEnvironment = nil; NVideoDriver: TVideoDriver = nil);
Public function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode = nil; ID: LongInt = -1): TAnimatedMeshSceneNode; overload; inline;
Public function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TAnimatedMeshSceneNode; overload; inline;
Public function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; AlsoAddIfMeshPointerZero: Boolean = False): TAnimatedMeshSceneNode; overload; inline;
Public 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;
Public function AddBillboardSceneNode(Parent: TSceneNode): TBillboardSceneNode; overload; inline;
Public function AddBillboardSceneNode(Parent: TSceneNode; const DSize: TDimension): TBillboardSceneNode; overload; inline;
Public function AddBillboardSceneNode(Parent: TSceneNode; const DSize: TDimension; const Position: TVector3D; ID: LongInt = -1; ColorTop: TARGBColor = $ffffffff; ColorBottom: TARGBColor = $ffffffff): TBillboardSceneNode; overload; inline;
Public function AddBillboardTextSceneNode(Font: TGUIFont; const Text: StringType; Parent: TSceneNode = nil): TBillboardTextSceneNode; overload; inline;
Public function AddBillboardTextSceneNode(Font: TGUIFont; const Text: StringType; Parent: TSceneNode; const DSize: TDimension): TBillboardTextSceneNode; overload; inline;
Public 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;
Public function AddCameraSceneNode(Parent: TSceneNode = nil): TCameraSceneNode; overload; inline;
Public function AddCameraSceneNode(Parent: TSceneNode; const Position, Target: TVector3D; ID: LongInt = -1; MakeActive: Boolean = True): TCameraSceneNode; overload; inline;
Public function AddCameraSceneNodeFPS(Parent: TSceneNode = nil; RotateSpeed: Single = 100; MoveSpeed: Single = 0.5; ID: LongInt = -1): TCameraSceneNode; overload; inline;
Public 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;
Public function AddCameraSceneNodeMaya(Parent: TSceneNode = nil; RotateSpeed: Single = -1500; ZoomSped: Single = 200; TranslationSpeed: Single = 1500; ID: LongInt = -1; MakeActive: Boolean = True): TCameraSceneNode; overload; inline;
Public function AddCubeSceneNode(Size: Single = 10; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline;
Public function AddCubeSceneNode(Size: Single; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline;
Public function AddCubeSceneNode(Size: Single; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TMeshSceneNode; overload; inline;
Public function AddDummyTransformationSceneNode(Parent: TSceneNode = nil; ID: LongInt = -1): TDummyTransformationSceneNode; overload; inline;
Public function AddEmptySceneNode(Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; inline;
Public function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial; HillHeight: Single; const CountHills: TDimension): TAnimatedMesh; overload; inline;
Public function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial; HillHeight: Single; const CountHills, TextureRepeatCount: TDimension): TAnimatedMesh; overload; inline;
Public function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial = nil; HillHeight: Single=0): TAnimatedMesh; overload; inline;
Public function AddLightSceneNode(Parent: TSceneNode; const Position: TVector3D) : TLightSceneNode; overload; inline;
Public function AddLightSceneNode(Parent: TSceneNode = nil): TLightSceneNode; overload; inline;
Public function AddLightSceneNode(Parent: TSceneNode; const Position: TVector3D; Color: TFloatColor; Radius: Single = 100; ID: LongInt = -1): TLightSceneNode; overload; inline;
Public function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline;
Public function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline;
Public function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline;
Public function AddOctreeSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode = nil; ID: LongInt = -1; MinimalPolysPerNode: LongInt = 256; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline;
Public function AddOctreeSceneNode(Mesh: TMesh; Parent: TSceneNode = nil; ID: LongInt = -1; MinimalPolysPerNode: LongInt = 256; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline;
Public function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TParticleSystemSceneNode; overload; inline;
Public function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean = True; Parent: TSceneNode = nil; ID: LongInt = -1): TParticleSystemSceneNode; overload; inline;
Public function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TParticleSystemSceneNode; overload; inline;
Public function AddQuake3SceneNode(Buffer: TMeshBuffer; Shader: TQuake3Shader; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline;
Public function AddSceneNode(const SceneNodeTypeName: AnsiString; Parent: TSceneNode = nil): TSceneNode; inline;
Public function AddSkyBoxSceneNode(Top, Bottom, Left, Right, Front, Back: TTexture; Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; inline;
Public 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;
Public function AddSphereMesh(const Name: StringType; Radius: Single = 5; PolyCountX: LongWord = 16; PolyCountY: LongWord = 16): TAnimatedMesh; inline;
Public function AddSphereSceneNode(Radius: Single; PolyCount: LongInt; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline;
Public function AddSphereSceneNode(Radius: Single = 5.0; PolyCount: LongInt = 16; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline;
Public function AddSphereSceneNode(Radius: Single; PolyCount: LongInt; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TMeshSceneNode; overload; inline;
Public function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage; StretchSize: TDimension; MaxHeight: Single = 200): TAnimatedMesh; overload; inline;
Public function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage): TAnimatedMesh; overload; inline;
Public function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage; StretchSize: TDimension; MaxHeight: Single; DefaultVertexBlockSize: TSize): TAnimatedMesh; overload; inline;
Public 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;
Public function AddTerrainSceneNode(const HeightMapFile: StringType; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TTerrainSceneNode; overload; inline;
Public function AddTerrainSceneNode(const HeightMapFile: StringType; Parent: TSceneNode = nil; ID: LongInt = -1): TTerrainSceneNode; overload; inline;
Public function AddTerrainSceneNode(HeightMapFile: TReadFile; Parent: TSceneNode = nil; ID: LongInt = -1): TTerrainSceneNode; overload; inline;
Public 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;
Public function AddTerrainSceneNode(HeightMapFile: TReadFile; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TTerrainSceneNode; overload; inline;
Public function AddTextSceneNode(Font: TGUIFont; const Text: StringType; Color: TARGBColor; Parent: TSceneNode; Position: TVector3D; ID: LongInt = -1): TTextSceneNode; overload; inline;
Public function AddTextSceneNode(Font: TGUIFont; const Text: StringType; Color: TARGBColor = $64ffffff; Parent: TSceneNode = nil): TTextSceneNode; overload; inline;
Public function AddVolumeLightMesh(const Name: StringType; SubdivideU: LongWord = 32; SubdivideV: LongWord = 32; FootColor: TARGBColor = $3300e6b4; TailColor: TARGBColor = $00000000): TAnimatedMesh; overload; inline;
Public function AddVolumeLightSceneNode(Parent: TSceneNode; ID: LongInt; SubdivU, SubdivV: LongWord; FootColor, TailColor: TARGBColor; const Position, Rotation, Scale: TVector3D): TVolumeLightSceneNode; overload; inline;
Public function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt, WaveSpeed, WaveLength: Single; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TSceneNode; overload; inline;
Public function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt: Single = 2; WaveSpeed: Single = 300; WaveLength: Single = 10; Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; overload; inline;
Public function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt, WaveSpeed, WaveLength: Single; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TSceneNode; overload; inline;
Public function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius, GravityPerSecond, EllipsoidTranslation: TVector3D; SlidingValue: Single = 0.0005): TSceneNodeAnimatorCollisionResponse; overload; inline;
Public function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius, GravityPerSecond: TVector3D): TSceneNodeAnimatorCollisionResponse; overload; inline;
Public function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius: TVector3D): TSceneNodeAnimatorCollisionResponse; overload; inline;
Public function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode): TSceneNodeAnimatorCollisionResponse; overload; inline;
Public function CreateDeleteAnimator(TimeMs: LongWord): TSceneNodeAnimator;
Public function CreateFlyCircleAnimator(const Center: TVector3D; Radius, Speed: Single; const Direction: TVector3D; StartPosition: Single = 0; RadiusEllipsoid: Single = 0): TSceneNodeAnimator; overload; inline;
Public function CreateFlyCircleAnimator(const Center: TVector3D; Radius: Single =100; Speed: Single = 0.001): TSceneNodeAnimator; overload; inline;
Public function CreateFlyCircleAnimator: TSceneNodeAnimator; overload; inline;
Public function CreateFlyStraightAnimator(const StartPoint, EndPoint: TVector3D; TimeForWay: LongWord; Loop: Boolean = False; PingPong: Boolean = False): TSceneNodeAnimator; inline;
Public function CreateFollowSplineAnimator(StartTime: LongInt; const Points: array of TVector3D; Speed: Single = 1; Tightness: Single = 0.5; Loop: Boolean = True; PingPong: Boolean = False): TSceneNodeAnimator;
Public function CreateMeshWriter(MType: TMeshWriterType): TMeshWriter; inline;
Public function CreateMetaTriangleSelector: TMetaTriangleSelector; inline;
Public function CreateNewSceneManager(CloneContent: Boolean = False): TSceneManager; inline;
Public function CreateOctreeTriangleSelector(Mesh: TMesh; Node: TSceneNode; MinPolysPerNode: LongInt = 32): TTriangleSelector; inline;
Public function CreateRotationAnimator(const RotationSpeed: TVector3D): TSceneNodeAnimator; inline;
Public function CreateSkinnedMesh: TSkinnedMesh; inline;
Public function CreateTerrainTriangleSelector(Node: TTerrainSceneNode; LOD: LongInt = 0): TTriangleSelector; inline;
Public function CreateTextureAnimator(Textures: array of TTexture; TimePerFrame: LongInt; Loop: Boolean = True): TSceneNodeAnimator;
Public function CreateTriangleSelector(Mesh: TMesh; Node: TSceneNode): TTriangleSelector; overload; inline;
Public function CreateTriangleSelector(Node: TAnimatedMeshSceneNode): TTriangleSelector; overload; inline;
Public function CreateTriangleSelectorFromBoundinBox(Node: TSceneNode): TTriangleSelector; inline;
Public function DefaultSceneNodeAnimatorFactory: TSceneNodeAnimatorFactory; inline;
Public function DefaultSceneNodeFactory: TSceneNodeFactory; inline;
Public function GeometryCreator: TGeometryCreator; inline;
Public function GetAnimatorTypeName(AType: TSceneNodeAnimatorType): AnsiString; inline;
Public function GetMesh(RFile: TReadFile): TAnimatedMesh; overload; inline;
Public function GetMesh(const FileName: StringType): TAnimatedMesh; overload; inline;
Public function GetSceneNodeAnimatorFactory(Index: LongWord): TSceneNodeAnimatorFactory; inline;
Public function GetSceneNodeFactory(Index: LongWord): TSceneNodeFactory; inline;
Public function GetSceneNodeFromID(ID: LongInt; Start: TSceneNode = nil): TSceneNode; inline;
Public function GetSceneNodeFromName(const Name: AnsiString; Start: TSceneNode = nil): TSceneNode; inline;
Public function GetSceneNodeFromType(NType: TSceneNodeType; Start: TSceneNode = nil): TSceneNode; inline;
Public function GetSceneNodesFromType(NType: TSceneNodeType; Start: TSceneNode = nil): TSceneNodeArray;
Public function IsCulled(Node: TSceneNode): Boolean; inline;
Public function LoadScene(const FileName: StringType; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline;
Public function LoadScene(RFile: TReadFile; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline;
Public function MeshCache: TMeshCache; inline;
Public function Parameters: TAttributes; inline;
Public function PostEventFromUser(Event: TIrrlichtEvent): Boolean; inline;
Public function RegisteredSceneNodeAnimatorFactoryCount: LongWord; inline;
Public function RegisteredSceneNodeFactoryCount: LongWord; inline;
Public function RegisterNodeForRendering(Node: TSceneNode; Pass: TSceneNodeRenderPass = srpAutomatic): LongWord; inline;
Public function RootSceneNode: TSceneNode; inline;
Public function SaveScene(WFile: TWriteFile; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline;
Public function SaveScene(const FileName: StringType; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline;
Public function SceneCollisionManager: TSceneCollisionManager; inline;
Public function SceneNodeRenderPass: TSceneNodeRenderPass; inline;
Public procedure AddExternalMeshLoader(Loader: TMeshLoader); inline;
Public procedure AddToDeletionQueue(Node: TSceneNode); inline;
Public procedure Clear; inline;
Public procedure DrawAll; inline;
Public procedure RegisterSceneNodeAnimatorFactory(FactoryToAdd: TSceneNodeAnimatorFactory); inline;
Public procedure RegisterSceneNodeFactory(FactoryToAdd: TSceneNodeFactory); inline;
Public procedure SetLightManager(LightManager: TLightManager); inline;

Properties

Public property ActiveCamera: TCameraSceneNode read GetActiveCamera write SetActiveCamera;
Public property AmbientLight: TFloatColor read GetAmbientLight write SetAmbientLight;
Public property FileSystem: TFileSystem read FFileSystem;
Public property GUIEnvironment: TGUIEnvironment read FGUIEnvironment;
Public property ShadowColor: TARGBColor read GetShadowColor write SetShadowColor;
Public property VideoDriver: TVideoDriver read FVideoDriver;

Description

Methods

Public constructor Create(NReference: Pointer; NFileSystem: TFileSystem = nil; NGUIEnvironment: TGUIEnvironment = nil; NVideoDriver: TVideoDriver = nil);

Constructor. Only used internally.

Public function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode = nil; ID: LongInt = -1): TAnimatedMeshSceneNode; overload; inline;

Adds a scene node for rendering an animated mesh model.
Overloaded for default parameters.

Parameters
Mesh,:
Pointer to the loaded animated mesh to be displayed.
Parent,:
Parent of the scene node. Can be NULL if no parent.
ID,:
Id of the node. This id can be used to identify the scene node.
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public function AddAnimatedMeshSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TAnimatedMeshSceneNode; overload; inline;

Adds a scene node for rendering an animated mesh model.
Overloaded for default parameters.

Parameters
Mesh,:
Pointer to the loaded animated mesh to be displayed.
Parent,:
Parent of the scene node. Can be NULL if no parent.
ID,:
Id of the node. This id can be used to identify the scene node.
Position,:
Position of the space relative to its parent where the scene node will be placed.
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public 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
Mesh,:
Pointer to the loaded animated mesh to be displayed.
Parent,:
Parent of the scene node. Can be NULL if no parent.
ID,:
Id of the node. This id can be used to identify the scene node.
Position,:
Position of the space relative to its parent where the scene node will be placed.
Rotation,:
Initital rotation of the scene node.
Scale,:
Initial scale of the scene node.
AlsoAddIfMeshPointerZero,:
Add the scene node even if a 0 pointer is passed.
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public 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
Name
Name of the mesh.
VtxColor0
color of the cylinder.
VtxColor1
color of the cone.
TesselationCylinder
Number of quads the cylinder side consists of.
TesselationCone
Number of triangles the cone's roof consits of.
Height
Total height of the arrow.
CylinderHeight
Total height of the cylinder, should be lesser than total height.
Width0
Diameter of the cylinder.
Width1
Diameter of the cone's base, should be not smaller than the cylinder's diameter.
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public function AddBillboardSceneNode(Parent: TSceneNode): TBillboardSceneNode; overload; inline;

Adds a billboard scene node to the scene graph.
Overloaded for default parameters.
A billboard is like a 3d sprite: A 2d element, which always looks to the camera. It is usually used for things like explosions, fire, lensflares and things like that.

Parameters
Parent,:
Parent scene node of the billboard. Can be null. If the parent moves, the billboard will move too.
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public function AddBillboardSceneNode(Parent: TSceneNode; const DSize: TDimension): TBillboardSceneNode; overload; inline;

Adds a billboard scene node to the scene graph.
Overloaded for default parameters.
A billboard is like a 3d sprite: A 2d element, which always looks to the camera. It is usually used for things like explosions, fire, lensflares and things like that.

Parameters
Parent,:
Parent scene node of the billboard. Can be null. If the parent moves, the billboard will move too.
Position,:
Position of the space relative to its parent where the billboard will be placed.
DSize,:
Size of the billboard. This size is 2 dimensional because a billboard only has width and height.
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public 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.
A billboard is like a 3d sprite: A 2d element, which always looks to the camera. It is usually used for things like explosions, fire, lensflares and things like that.

Parameters
Parent,:
Parent scene node of the billboard. Can be null. If the parent moves, the billboard will move too.
Position,:
Position of the space relative to its parent where the billboard will be placed.
DSize,:
Size of the billboard. This size is 2 dimensional because a billboard only has width and height.
ID,:
An id of the node. This id can be used to identify the node.
ColorTop,:
The color of the vertices at the top of the billboard (default: white).
ColorBottom,:
The color of the vertices at the bottom of the billboard (default: white).
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public 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.
Overloaded for default parameters.

Parameters
Font
The font to use on the billboard. Pass nil to use the GUI environment's default font.
Text
The text to display on the billboard.
Parent
The billboard's parent. Pass nil to use the root scene node.
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public 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.
Overloaded for default parameters.

Parameters
Font
The font to use on the billboard. Pass nil to use the GUI environment's default font.
Text
The text to display on the billboard.
Parent
The billboard's parent. Pass nil to use the root scene node.
DSize
The billboard's width and height.
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public 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
Font
The font to use on the billboard. Pass nil to use the GUI environment's default font.
Text
The text to display on the billboard.
Parent
The billboard's parent. Pass nil to use the root scene node.
DSize
The billboard's width and height.
Position
The billboards position relative to its parent.
ID
An id of the node. This id can be used to identify the node.
ColorTop,:
The color of the vertices at the top of the billboard (default: white@.
ColorBottom,:
The color of the vertices at the bottom of the billboard (default: white).
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public function AddCameraSceneNode(Parent: TSceneNode = nil): TCameraSceneNode; overload; inline;

Adds a camera scene node to the scene graph and sets it as active camera.
This camera does not react on user input like for example the one created with AddCameraSceneNodeFPS(). If you want to move or animate it, use animators or the TSceneNode.Position, TCameraSceneNode.Target etc properties. By default, a camera's look at position (set with Target) and its scene node rotation (set with Rotation) are independent. If you want to be able to control the direction that the camera looks by setting Rotation then set TCameraSceneNode.BindTargetAndRotation to true.

Parameters
Parent
Parent scene node of the camera. Can be nil. If the parent moves, the camera will move too.
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public 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.
This camera does not react on user input like for example the one created with AddCameraSceneNodeFPS(). If you want to move or animate it, use animators or the TSceneNode.Position, TCameraSceneNode.Target etc properties. By default, a camera's look at position (set with Target) and its scene node rotation (set with Rotation) are independent. If you want to be able to control the direction that the camera looks by setting Rotation then set TCameraSceneNode.BindTargetAndRotation to true.

Parameters
Parent
Parent scene node of the camera. Can be nil. If the parent moves, the camera will move too.
Position,:
Position of the space relative to its parent where the camera will be placed.
Target
Position where the camera will look at.
ID
ID of the camera. This id can be used to identify the camera.
MakeActive
Flag whether this camera should become the active one. Make sure you always have one active camera.
Returns

The created scene node. This pointer should not be dropped. See TReferenceCounted,.Drop() for more information.

Public 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).
Overloaded for default parameters.

Parameters
Parent,:
Parent scene node of the camera. Can be nil.
RotateSpeed,:
Speed in degress with which the camera is rotated. This can be done only with the mouse.
MoveSpeed,:
Speed in units per millisecond with which the camera is moved. Movement is done with the cursor keys.
ID,:
id of the camera. This id can be used to identify the camera.
Returns

The interface of the camera if successful, otherwise nil. This pointer should not be dropped. See TReferenceCounted.Drop() for more information.

Public 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).
This FPS camera is intended to provide a demonstration of a camera that behaves like a typical First Person Shooter. It is useful for simple demos and prototyping but is not intended to provide a full solution for a production quality game. It binds the camera scene node rotation to the look-at target;
With this camera, you look with the mouse, and move with cursor keys. If you want to change the key layout, you can specify your own keymap. For example to make the camera be controlled by the cursor keys AND the keys W,A,S, and D, do something like this:

    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
Parent,:
Parent scene node of the camera. Can be nil.
RotateSpeed,:
Speed in degress with which the camera is rotated. This can be done only with the mouse.
MoveSpeed,:
Speed in units per millisecond with which the camera is moved. Movement is done with the cursor keys.
ID,:
id of the camera. This id can be used to identify the camera.
KeyMapArray,:
Optional pointer to an array of a keymap, specifying what keys should be used to move the camera. If this is null, the default keymap is used. You can define actions more then one time in the array, to bind multiple keys to the same action.
KeyMapSize,:
Amount of items in the keymap array.
NoVerticalMovement,:
Setting this to true makes the camera only move within a horizontal plane, and disables vertical movement as known from most ego shooters. Default is 'false', with which it is possible to fly around in space, if no gravity is there.
JumpSpeed,:
Speed with which the camera is moved when jumping.
InvertMouse,:
Setting this to true makes the camera look up when the mouse is moved down and down when the mouse is moved up, the default is 'false' which means it will follow the movement of the mouse cursor.
MakeActive
Flag whether this camera should become the active one. Make sure you always have one active camera.
Returns

The interface of the camera if successful, otherwise nil. This pointer should not be dropped. See TReferenceCounted.Drop() for more information.

Public function AddCameraSceneNodeMaya(Parent: TSceneNode = nil; RotateSpeed: Single = -1500; ZoomSped: Single = 200; TranslationSpeed: Single = 1500; ID: LongInt = -1; MakeActive: Boolean = True): TCameraSceneNode; overload; inline;
 
Public function AddCubeSceneNode(Size: Single = 10; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline;
 
Public function AddCubeSceneNode(Size: Single; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline;
 
Public function AddCubeSceneNode(Size: Single; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TMeshSceneNode; overload; inline;
 
Public function AddDummyTransformationSceneNode(Parent: TSceneNode = nil; ID: LongInt = -1): TDummyTransformationSceneNode; overload; inline;
 
Public function AddEmptySceneNode(Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; inline;
 
Public function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial; HillHeight: Single; const CountHills: TDimension): TAnimatedMesh; overload; inline;
 
Public function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial; HillHeight: Single; const CountHills, TextureRepeatCount: TDimension): TAnimatedMesh; overload; inline;
 
Public function AddHillPlaneMesh(const Name: StringType; const TileSize: TDimension; const TileCount: TSize; Material: PMaterial = nil; HillHeight: Single=0): TAnimatedMesh; overload; inline;
 
Public function AddLightSceneNode(Parent: TSceneNode; const Position: TVector3D) : TLightSceneNode; overload; inline;
 
Public function AddLightSceneNode(Parent: TSceneNode = nil): TLightSceneNode; overload; inline;
 
Public function AddLightSceneNode(Parent: TSceneNode; const Position: TVector3D; Color: TFloatColor; Radius: Single = 100; ID: LongInt = -1): TLightSceneNode; overload; inline;
 
Public function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline;
 
Public function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline;
 
Public function AddMeshSceneNode(Mesh: TMesh; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline;
 
Public function AddOctreeSceneNode(Mesh: TAnimatedMesh; Parent: TSceneNode = nil; ID: LongInt = -1; MinimalPolysPerNode: LongInt = 256; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline;
 
Public function AddOctreeSceneNode(Mesh: TMesh; Parent: TSceneNode = nil; ID: LongInt = -1; MinimalPolysPerNode: LongInt = 256; ForceAdd: Boolean = False): TMeshSceneNode; overload; inline;
 
Public function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TParticleSystemSceneNode; overload; inline;
 
Public function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean = True; Parent: TSceneNode = nil; ID: LongInt = -1): TParticleSystemSceneNode; overload; inline;
 
Public function AddParticleSystemSceneNode(WithDefaultEmitter: Boolean; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TParticleSystemSceneNode; overload; inline;
 
Public function AddQuake3SceneNode(Buffer: TMeshBuffer; Shader: TQuake3Shader; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline;
 
Public function AddSceneNode(const SceneNodeTypeName: AnsiString; Parent: TSceneNode = nil): TSceneNode; inline;
 
Public function AddSkyBoxSceneNode(Top, Bottom, Left, Right, Front, Back: TTexture; Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; inline;
 
Public 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;
 
Public function AddSphereMesh(const Name: StringType; Radius: Single = 5; PolyCountX: LongWord = 16; PolyCountY: LongWord = 16): TAnimatedMesh; inline;
 
Public function AddSphereSceneNode(Radius: Single; PolyCount: LongInt; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TMeshSceneNode; overload; inline;
 
Public function AddSphereSceneNode(Radius: Single = 5.0; PolyCount: LongInt = 16; Parent: TSceneNode = nil; ID: LongInt = -1): TMeshSceneNode; overload; inline;
 
Public function AddSphereSceneNode(Radius: Single; PolyCount: LongInt; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TMeshSceneNode; overload; inline;
 
Public function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage; StretchSize: TDimension; MaxHeight: Single = 200): TAnimatedMesh; overload; inline;
 
Public function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage): TAnimatedMesh; overload; inline;
 
Public function AddTerrainMesh(const MeshName: StringType; Texture, Heightmap: TImage; StretchSize: TDimension; MaxHeight: Single; DefaultVertexBlockSize: TSize): TAnimatedMesh; overload; inline;
 
Public 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;
 
Public function AddTerrainSceneNode(const HeightMapFile: StringType; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TTerrainSceneNode; overload; inline;
 
Public function AddTerrainSceneNode(const HeightMapFile: StringType; Parent: TSceneNode = nil; ID: LongInt = -1): TTerrainSceneNode; overload; inline;
 
Public function AddTerrainSceneNode(HeightMapFile: TReadFile; Parent: TSceneNode = nil; ID: LongInt = -1): TTerrainSceneNode; overload; inline;
 
Public 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;
 
Public function AddTerrainSceneNode(HeightMapFile: TReadFile; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TTerrainSceneNode; overload; inline;
 
Public function AddTextSceneNode(Font: TGUIFont; const Text: StringType; Color: TARGBColor; Parent: TSceneNode; Position: TVector3D; ID: LongInt = -1): TTextSceneNode; overload; inline;
 
Public function AddTextSceneNode(Font: TGUIFont; const Text: StringType; Color: TARGBColor = $64ffffff; Parent: TSceneNode = nil): TTextSceneNode; overload; inline;
 
Public function AddVolumeLightMesh(const Name: StringType; SubdivideU: LongWord = 32; SubdivideV: LongWord = 32; FootColor: TARGBColor = $3300e6b4; TailColor: TARGBColor = $00000000): TAnimatedMesh; overload; inline;
 
Public function AddVolumeLightSceneNode(Parent: TSceneNode; ID: LongInt; SubdivU, SubdivV: LongWord; FootColor, TailColor: TARGBColor; const Position, Rotation, Scale: TVector3D): TVolumeLightSceneNode; overload; inline;
 
Public function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt, WaveSpeed, WaveLength: Single; Parent: TSceneNode; ID: LongInt; const Position: TVector3D): TSceneNode; overload; inline;
 
Public function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt: Single = 2; WaveSpeed: Single = 300; WaveLength: Single = 10; Parent: TSceneNode = nil; ID: LongInt = -1): TSceneNode; overload; inline;
 
Public function AddWaterSurfaceSceneNode(Mesh: TMesh; WaveHeigt, WaveSpeed, WaveLength: Single; Parent: TSceneNode; ID: LongInt; const Position, Rotation, Scale: TVector3D): TSceneNode; overload; inline;
 
Public function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius, GravityPerSecond, EllipsoidTranslation: TVector3D; SlidingValue: Single = 0.0005): TSceneNodeAnimatorCollisionResponse; overload; inline;
 
Public function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius, GravityPerSecond: TVector3D): TSceneNodeAnimatorCollisionResponse; overload; inline;
 
Public function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode; const EllipsoidRadius: TVector3D): TSceneNodeAnimatorCollisionResponse; overload; inline;
 
Public function CreateCollisionResponseAnimator(World: TTriangleSelector; SceneNode: TSceneNode): TSceneNodeAnimatorCollisionResponse; overload; inline;
 
Public function CreateDeleteAnimator(TimeMs: LongWord): TSceneNodeAnimator;
 
Public function CreateFlyCircleAnimator(const Center: TVector3D; Radius, Speed: Single; const Direction: TVector3D; StartPosition: Single = 0; RadiusEllipsoid: Single = 0): TSceneNodeAnimator; overload; inline;
 
Public function CreateFlyCircleAnimator(const Center: TVector3D; Radius: Single =100; Speed: Single = 0.001): TSceneNodeAnimator; overload; inline;
 
Public function CreateFlyCircleAnimator: TSceneNodeAnimator; overload; inline;
 
Public function CreateFlyStraightAnimator(const StartPoint, EndPoint: TVector3D; TimeForWay: LongWord; Loop: Boolean = False; PingPong: Boolean = False): TSceneNodeAnimator; inline;
 
Public function CreateFollowSplineAnimator(StartTime: LongInt; const Points: array of TVector3D; Speed: Single = 1; Tightness: Single = 0.5; Loop: Boolean = True; PingPong: Boolean = False): TSceneNodeAnimator;
 
Public function CreateMeshWriter(MType: TMeshWriterType): TMeshWriter; inline;
 
Public function CreateMetaTriangleSelector: TMetaTriangleSelector; inline;
 
Public function CreateNewSceneManager(CloneContent: Boolean = False): TSceneManager; inline;
 
Public function CreateOctreeTriangleSelector(Mesh: TMesh; Node: TSceneNode; MinPolysPerNode: LongInt = 32): TTriangleSelector; inline;
 
Public function CreateRotationAnimator(const RotationSpeed: TVector3D): TSceneNodeAnimator; inline;
 
Public function CreateSkinnedMesh: TSkinnedMesh; inline;
 
Public function CreateTerrainTriangleSelector(Node: TTerrainSceneNode; LOD: LongInt = 0): TTriangleSelector; inline;
 
Public function CreateTextureAnimator(Textures: array of TTexture; TimePerFrame: LongInt; Loop: Boolean = True): TSceneNodeAnimator;
 
Public function CreateTriangleSelector(Mesh: TMesh; Node: TSceneNode): TTriangleSelector; overload; inline;
 
Public function CreateTriangleSelector(Node: TAnimatedMeshSceneNode): TTriangleSelector; overload; inline;
 
Public function CreateTriangleSelectorFromBoundinBox(Node: TSceneNode): TTriangleSelector; inline;
 
Public function DefaultSceneNodeAnimatorFactory: TSceneNodeAnimatorFactory; inline;
 
Public function DefaultSceneNodeFactory: TSceneNodeFactory; inline;
 
Public function GeometryCreator: TGeometryCreator; inline;
 
Public function GetAnimatorTypeName(AType: TSceneNodeAnimatorType): AnsiString; inline;
 
Public function GetMesh(RFile: TReadFile): TAnimatedMesh; overload; inline;
 
Public function GetMesh(const FileName: StringType): TAnimatedMesh; overload; inline;
 
Public function GetSceneNodeAnimatorFactory(Index: LongWord): TSceneNodeAnimatorFactory; inline;
 
Public function GetSceneNodeFactory(Index: LongWord): TSceneNodeFactory; inline;
 
Public function GetSceneNodeFromID(ID: LongInt; Start: TSceneNode = nil): TSceneNode; inline;
 
Public function GetSceneNodeFromName(const Name: AnsiString; Start: TSceneNode = nil): TSceneNode; inline;
 
Public function GetSceneNodeFromType(NType: TSceneNodeType; Start: TSceneNode = nil): TSceneNode; inline;
 
Public function GetSceneNodesFromType(NType: TSceneNodeType; Start: TSceneNode = nil): TSceneNodeArray;
 
Public function IsCulled(Node: TSceneNode): Boolean; inline;
 
Public function LoadScene(const FileName: StringType; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline;
 
Public function LoadScene(RFile: TReadFile; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline;
 
Public function MeshCache: TMeshCache; inline;
 
Public function Parameters: TAttributes; inline;
 
Public function PostEventFromUser(Event: TIrrlichtEvent): Boolean; inline;
 
Public function RegisteredSceneNodeAnimatorFactoryCount: LongWord; inline;
 
Public function RegisteredSceneNodeFactoryCount: LongWord; inline;
 
Public function RegisterNodeForRendering(Node: TSceneNode; Pass: TSceneNodeRenderPass = srpAutomatic): LongWord; inline;
 
Public function RootSceneNode: TSceneNode; inline;
 
Public function SaveScene(WFile: TWriteFile; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline;
 
Public function SaveScene(const FileName: StringType; UserDataSerializer: TSceneUserDataSerializer = nil): Boolean; overload; inline;
 
Public function SceneCollisionManager: TSceneCollisionManager; inline;
 
Public function SceneNodeRenderPass: TSceneNodeRenderPass; inline;
 
Public procedure AddExternalMeshLoader(Loader: TMeshLoader); inline;
 
Public procedure AddToDeletionQueue(Node: TSceneNode); inline;
 
Public procedure Clear; inline;
 
Public procedure DrawAll; inline;
 
Public procedure RegisterSceneNodeAnimatorFactory(FactoryToAdd: TSceneNodeAnimatorFactory); inline;
 
Public procedure RegisterSceneNodeFactory(FactoryToAdd: TSceneNodeFactory); inline;
 
Public procedure SetLightManager(LightManager: TLightManager); inline;
 

Properties

Public property ActiveCamera: TCameraSceneNode read GetActiveCamera write SetActiveCamera;
 
Public property AmbientLight: TFloatColor read GetAmbientLight write SetAmbientLight;
 
Public property FileSystem: TFileSystem read FFileSystem;
 
Public property GUIEnvironment: TGUIEnvironment read FGUIEnvironment;
 
Public property ShadowColor: TARGBColor read GetShadowColor write SetShadowColor;
 
Public property VideoDriver: TVideoDriver read FVideoDriver;
 

Generated by PasDoc 0.12.1 on 2012-09-14 17:32:22