Class TCastleControl

Unit

Declaration

type TCastleControl = class(TCastleControlBase)

Description

Warning: this symbol is deprecated: use TCastleControlBase and create instance of TCastleViewport explicitly

Control to render everything (3D or 2D) with Castle Game Engine, with a default TCastleSceneManager instance already created for you. Add your game stuff (descending from TCastleTransform, like TCastleScene) to the scene manager available in SceneManager property. Add the rest (like 2D user-inteface) to the TCastleControlBase.Controls property (from ancestor TCastleControlBase).

You can directly access the SceneManager and configure it however you like.

You have comfortable Load method that simply loads a single model to your world.

Note that if you don't plan to use the default SceneManager instance, then you should better create TCastleControlBase instead of this class.

This is deprecated, as such "control with default scene manager" is an unnecessary API complication. Use instead TCastleControlBase and just add there a TCastleViewport with FullSize = true, it is trivial.

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TLCLComponent
  • TControl
  • TWinControl
  • TCustomOpenGLControl
  • TCastleControlBase
  • TCastleControl

Overview

Methods

Public constructor Create(AOwner: TComponent); override;
Public procedure Load(const SceneURL: string); deprecated 'create TCastleScene and load using TCastleScene.Load; this method is an inflexible shortcut for this';
Public procedure Load(ARootNode: TX3DRootNode; const OwnsRootNode: boolean); deprecated 'create TCastleScene and load using TCastleScene.Load; this method is an inflexible shortcut for this';
Public function MainScene: TCastleScene;
Public function Camera: TCastleCamera; deprecated 'use SceneManger.Camera or SceneManger.Navigation';

Properties

Published property SceneManager: TControlGameSceneManager read FSceneManager;
Published property OnCameraChanged: TNotifyEvent read GetOnCameraChanged write SetOnCameraChanged;
Published property ShadowVolumes: boolean read GetShadowVolumes write SetShadowVolumes default TCastleViewport.DefaultShadowVolumes;
Published property ShadowVolumesRender: boolean read GetShadowVolumesRender write SetShadowVolumesRender default false;

Description

Methods

Public constructor Create(AOwner: TComponent); override;
 
Public procedure Load(const SceneURL: string); deprecated 'create TCastleScene and load using TCastleScene.Load; this method is an inflexible shortcut for this';

Warning: this symbol is deprecated: create TCastleScene and load using TCastleScene.Load; this method is an inflexible shortcut for this

Load a single 3D model to your world (removing other models, and resetting the camera).

This is nice for simple 3D model browsers, but usually for games you don't want to use this method — it's more flexible to create TCastleScene yourself, and add it to scene manager yourself, see engine examples like scene_manager_basic.lpr.

Public procedure Load(ARootNode: TX3DRootNode; const OwnsRootNode: boolean); deprecated 'create TCastleScene and load using TCastleScene.Load; this method is an inflexible shortcut for this';

Warning: this symbol is deprecated: create TCastleScene and load using TCastleScene.Load; this method is an inflexible shortcut for this

 
Public function MainScene: TCastleScene;
 
Public function Camera: TCastleCamera; deprecated 'use SceneManger.Camera or SceneManger.Navigation';

Warning: this symbol is deprecated: use SceneManger.Camera or SceneManger.Navigation

 

Properties

Published property SceneManager: TControlGameSceneManager read FSceneManager;
 
Published property OnCameraChanged: TNotifyEvent read GetOnCameraChanged write SetOnCameraChanged;
 
Published property ShadowVolumes: boolean read GetShadowVolumes write SetShadowVolumes default TCastleViewport.DefaultShadowVolumes;

See TCastleViewport.ShadowVolumes.

Published property ShadowVolumesRender: boolean read GetShadowVolumesRender write SetShadowVolumesRender default false;

See TCastleViewport.ShadowVolumesRender.


Generated by PasDoc 0.16.0.