CAST II Game Engine

   MAIN       FEATURES       SCREENSHOTS       FORUMS       MANUAL       DOWNLOADS       CONTACTS   
Units
Class Hierarchy
Classes, Interfaces and Objects
Types
Enumerations
Variables
Constants
Functions and Procedures
Identifiers

Class TVisible

Unit

C2Visual

Declaration

type TVisible = class(TProcessing)

Description

TVisibilityCheckerDelegate = function(const Camera: TCamera): Boolean of object;

Hierarchy

TProcessing > TBaseProcessing > TItem > TBaseItem

Fields

 NameDescription
PublicBlendMatrices 
ProtectedFCurrentTesselatorReference to current tesselator
ProtectedFCurTechniqueCurrent render technique
ProtectedFCustomLightingTrue if the item should be lit by its own code
ProtectedFTesselatorKindDetermines what kind tesselator will be used to tesselated the item
ProtectedFTesselatorsA set of tesselators used to geometrically represent the item in various LOD's
ProtectedIndexInPassIndex in TRenderPass.Items array
PublicRetrieveTextureMatrixToDO: optimize

Methods

Overview

Publicconstructor Create(AManager: TItemsManager); override;
Publicdestructor Destroy; override;
Publicprocedure AddProperties(const Result: Props.TProperties); override;
Protectedprocedure AddToPasses;
Publicprocedure BeginLighting;
Publicfunction CalculateLighting(const ALight: TLight): Boolean;
Protectedprocedure DoHide;
Protectedprocedure DoShow;
Protectedfunction GetMaterial: TMaterial;
Publicfunction GetSortValue(const Camera: TCamera): Single; virtual;
Publicfunction GetTesselatorClass: CTesselator; virtual;
Publicprocedure HandleMessage(const Msg: TMessage); override;
Publicprocedure Hide; virtual;
Publicclass function IsAbstract: Boolean; override;
Protectedfunction isActuallyVisible: Boolean;
Protectedfunction isParentsVisible: Boolean;
Publicprocedure OnInit; override;
Publicprocedure OnSceneAdd; override;
Publicprocedure OnSceneRemove; override;
Protectedprocedure RemoveFromPasses;
Publicprocedure Render; virtual;
Publicprocedure RetrieveShaderConstants(var ConstList: TShaderConstants); virtual;
Protectedprocedure SetCurrentLOD(const Value: Single); virtual;
Protectedprocedure SetCurTechnique(const Value: TTechnique);
Protectedprocedure SetMaterial(Value: TMaterial);
Protectedprocedure SetMesh; virtual;
Protectedprocedure SetParent(NewParent: TItem); override;
Publicprocedure SetProperties(Properties: Props.TProperties); override;
Protectedprocedure SetState(const Value: TSet32); override;
Publicprocedure Show; virtual;
Publicfunction VisibilityCheck(const Camera: TCamera): Boolean; virtual;

Description

Publicconstructor Create(AManager: TItemsManager); override;

 

Publicdestructor Destroy; override;

 

Publicprocedure AddProperties(const Result: Props.TProperties); override;

 

Protectedprocedure AddToPasses;

 

Publicprocedure BeginLighting;

Prepares the item and tesselator for manual lighting. Called automatically.

Publicfunction CalculateLighting(const ALight: TLight): Boolean;

Calls tesselator to perform manual lighting calculation

Protectedprocedure DoHide;

 

Protectedprocedure DoShow;

 

Protectedfunction GetMaterial: TMaterial;

 

Publicfunction GetSortValue(const Camera: TCamera): Single; virtual;

Returns value by which to sort items containing sorted order passes in material

Publicfunction GetTesselatorClass: CTesselator; virtual;

Returns class of tesselator which will represent the item geometrically

Publicprocedure HandleMessage(const Msg: TMessage); override;

 

Publicprocedure Hide; virtual;

Hides the item

Publicclass function IsAbstract: Boolean; override;

 

Protectedfunction isActuallyVisible: Boolean;

Returns True if visibility mask of the item and all its parents has isVisible flag included

Protectedfunction isParentsVisible: Boolean;

Returns True if visibility mask of all parents has isVisible flag included

Publicprocedure OnInit; override;

 

Publicprocedure OnSceneAdd; override;

 

Publicprocedure OnSceneRemove; override;

 

Protectedprocedure RemoveFromPasses;

 

Publicprocedure Render; virtual;

Should be overriden to render item indirectly or other custom rendering mode

Publicprocedure RetrieveShaderConstants(var ConstList: TShaderConstants); virtual;

To specify shader constants an item class should override this method

Protectedprocedure SetCurrentLOD(const Value: Single); virtual;

 

Protectedprocedure SetCurTechnique(const Value: TTechnique);

 

Protectedprocedure SetMaterial(Value: TMaterial);

 

Protectedprocedure SetMesh; virtual;

 

Protectedprocedure SetParent(NewParent: TItem); override;

 

Publicprocedure SetProperties(Properties: Props.TProperties); override;

 

Protectedprocedure SetState(const Value: TSet32); override;

 

Publicprocedure Show; virtual;

Shows the item

Publicfunction VisibilityCheck(const Camera: TCamera): Boolean; virtual;

If the item is visible through the given camera returns True and sets current tesselator according to needed detail level

Properties

Overview

Publicproperty CurrentLOD: Single;
Publicproperty CurrentTesselator: TTesselator;
Publicproperty CurTechnique: TTechnique;
Publicproperty CustomLighting: Boolean;
Publicproperty Material: TMaterial;
Publicproperty TesselatorKind: TTesselatorKind;

Description

Publicproperty CurrentLOD: Single;

 

Publicproperty CurrentTesselator: TTesselator;

 

Publicproperty CurTechnique: TTechnique;

 

Publicproperty CustomLighting: Boolean;

True if the item should be lit by its own code

Publicproperty Material: TMaterial;

 

Publicproperty TesselatorKind: TTesselatorKind;

write SetCurTechnique

Last modified: Jan 6, 2010
Copyright (C) 2006-2010, casteng.com