Class TCastleWindow

Unit

Declaration

type TCastleWindow = class(TCastleWindowCustom)

Description

Window with an OpenGL context, most comfortable to render 3D worlds with 2D controls above. Add your 3D stuff to the scene manager available in SceneManager property. Add your 2D stuff to the TCastleWindowCustom.Controls property (from ancestor TCastleWindowCustom).

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.

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.14.0.