Class TCastleWindow

Unit

Declaration

type TCastleWindow = class(TCastleWindowBase)

Description

Window to render everything (3D or 2D) with Castle Game Engine, with a default TCastleSceneManager instance already created for you. This is the simplest way to render a 3D world with 2D controls above. 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 TCastleWindowBase.Controls property (from ancestor TCastleWindowBase).

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

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

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

If you're looking for analogous Lazarus component (that does basically the same, but can be placed on a Lazarus form) see TCastleControl component.

Hierarchy

Overview

Methods

Protected procedure NavigationInfoChanged; virtual;
Public constructor Create(AOwner: TComponent); override;
Public procedure Load(const SceneURL: string);
Public procedure Load(ARootNode: TX3DRootNode; const OwnsRootNode: boolean);
Public function MainScene: TCastleScene;

Properties

Public property SceneManager: TGameSceneManager read FSceneManager;
Public property ShadowVolumes: boolean read GetShadowVolumes write SetShadowVolumes default TCastleAbstractViewport.DefaultShadowVolumes;
Public property ShadowVolumesRender: boolean read GetShadowVolumesRender write SetShadowVolumesRender default false;
Public property NavigationType: TNavigationType read GetNavigationType write SetNavigationType;

Description

Methods

Protected procedure NavigationInfoChanged; virtual;
 
Public constructor Create(AOwner: TComponent); override;
 
Public procedure Load(const SceneURL: string);

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);
 
Public function MainScene: TCastleScene;
 

Properties

Public property SceneManager: TGameSceneManager read FSceneManager;
 
Public property ShadowVolumes: boolean read GetShadowVolumes write SetShadowVolumes default TCastleAbstractViewport.DefaultShadowVolumes;

See TCastleAbstractViewport.ShadowVolumes.

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

See TCastleAbstractViewport.ShadowVolumesRender.

Public property NavigationType: TNavigationType read GetNavigationType write SetNavigationType;

Navigation type of the main camera associated with the default SceneManager. Note that this may not be the only camera used for rendering, it may not even be used at all (you can do all rendering using TCastleAbstractViewports. So use this property only if you use only a single default viewport.


Generated by PasDoc 0.15.0.