Class TBGRAScene3D
Unit
Declaration
type TBGRAScene3D = class(TObject)
Description
3D scene
Hierarchy
- TObject
- TBGRAScene3D
Overview
Fields
DefaultLightingNormal: TLightingNormal3D; |
|
FetchDirectory: string; |
|
FetchThrowsException: boolean; |
|
FMaterialLibrariesFetched: array of string; |
|
FRenderer: TCustomRenderer3D; |
|
FTexturesFetched: array of record
Name: string;
Bitmap: TBGRACustomBitmap;
end; |
|
RenderingOptions: TRenderingOptions; |
|
UnknownColor: TBGRAPixel; |
Methods
constructor Create(ASurface: TBGRACustomBitmap); overload; |
|
constructor Create; overload; |
|
destructor Destroy; override; |
|
function AddDirectionalLight(ADirection: TPoint3D; ALightness: single = 1; AMinIntensity : single = 0): IBGRADirectionalLight3D; overload; |
|
function AddDirectionalLight(ADirection: TPoint3D; AColor: TBGRAPixel; AMinIntensity: single = 0): IBGRADirectionalLight3D; overload; |
|
function AddPointLight(AVertex: IBGRAVertex3D; AOptimalDistance: single; AColor: TBGRAPixel; AMinIntensity: single = 0): IBGRAPointLight3D; overload; |
|
function AddPointLight(AVertex: IBGRAVertex3D; AOptimalDistance: single; ALightness: single = 1; AMinIntensity : single = 0): IBGRAPointLight3D; overload; |
|
function CreateHalfSphere(ARadius: Single; AColor: TBGRAPixel; AHorizPrecision: integer = 6; AVerticalPrecision : integer = 6): IBGRAObject3D; overload; |
|
function CreateHalfSphere(ARadius: Single; AHorizPrecision: integer = 6; AVerticalPrecision : integer = 6): IBGRAObject3D; overload; |
|
function CreateMaterial: IBGRAMaterial3D; overload; |
|
function CreateMaterial(ASpecularIndex: integer): IBGRAMaterial3D; overload; |
|
function CreateObject(AColor: TBGRAPixel): IBGRAObject3D; overload; |
|
function CreateObject(ATexture: IBGRAScanner): IBGRAObject3D; overload; |
|
function CreateObject: IBGRAObject3D; overload; |
|
function CreateSphere(ARadius: Single; AHorizPrecision: integer = 8; AVerticalPrecision : integer = 6): IBGRAObject3D; overload; |
|
function CreateSphere(ARadius: Single; AColor: TBGRAPixel; AHorizPrecision: integer = 8; AVerticalPrecision : integer = 6): IBGRAObject3D; overload; |
|
function FetchObject(AName: string; SwapFacesOrientation: boolean = true): IBGRAObject3D; |
|
function GetMaterialByName(AName: string): IBGRAMaterial3D; |
|
function LoadObjectFromFile(AFilename: string; SwapFacesOrientation: boolean = true): IBGRAObject3D; |
|
function LoadObjectFromFileUTF8(AFilename: string; SwapFacesOrientation: boolean = true): IBGRAObject3D; |
|
function LoadObjectFromStream(AStream: TStream; SwapFacesOrientation: boolean = true): IBGRAObject3D; |
|
function MakeLightList: TList; |
|
function FetchTexture(AName: string; out texSize: TPointF): IBGRAScanner; virtual; |
|
function GetRenderHeight: integer; |
|
function GetRenderWidth: integer; |
|
function LoadBitmapFromFileUTF8(AFilenameUTF8: string): TBGRACustomBitmap; virtual; |
|
procedure Clear; virtual; |
|
procedure FetchMaterials(ALibraryName: string); virtual; |
|
procedure ForEachFace(ACallback: TFace3DCallback); |
|
procedure ForEachVertex(ACallback: TVertex3DCallback); |
|
procedure LoadMaterialsFromFile(AFilename: string); |
|
procedure LoadMaterialsFromFileUTF8(AFilename: string); |
|
procedure LoadMaterialsFromStream(AStream: TStream); |
|
procedure LookAt(AWhere: TPoint3D; ATopDir: TPoint3D); |
|
procedure LookDown(angleDeg: single); |
|
procedure LookLeft(angleDeg: single); |
|
procedure LookRight(angleDeg: single); |
|
procedure LookUp(angleDeg: single); |
|
procedure RemoveLight(ALight: IBGRALight3D); |
|
procedure RemoveObject(AObject: IBGRAObject3D); |
|
procedure Render(ARenderer: TCustomRenderer3D); overload; |
|
procedure Render; overload; virtual; |
|
procedure SetZoom(value: TPointF); overload; |
|
procedure SetZoom(value: Single); overload; |
|
procedure UpdateMaterial(AMaterialName: string); virtual; |
|
procedure UpdateMaterials; virtual; |
|
procedure DoClear; virtual; |
|
procedure DoRender; virtual; |
|
procedure HandleFetchException(AException: Exception); virtual; |
|
procedure InvalidateMaterial; |
|
procedure OnMaterialTextureChanged(ASender: TObject); virtual; |
|
procedure SetDefaultMaterial(AValue: IBGRAMaterial3D); |
|
procedure UseMaterial(AMaterialName: string; AFace: IBGRAFace3D); virtual; |
Properties
property AmbiantLightColor: TBGRAPixel read GetAmbiantLightColor write SetAmbiantLightColor; |
|
property AmbiantLightColorF: TColorF read GetAmbiantLightColorF write SetAmbiantLightColorF; |
|
property AmbiantLightness: single read GetAmbiantLightness write SetAmbiantLightness; |
|
property AutoViewCenter: boolean read FAutoViewCenter write SetAutoViewCenter; |
|
property AutoZoom: boolean read FAutoZoom write SetAutoZoom; |
|
property Camera: TCamera3D read FCamera; |
|
property DefaultMaterial: IBGRAMaterial3D read FDefaultMaterial write SetDefaultMaterial; |
|
property FaceCount: integer read GetFaceCount; |
|
property Light[AIndex: integer]: IBGRALight3D read GetLight; |
|
property LightCount: integer read GetLightCount; |
|
property Material[AIndex: integer]: IBGRAMaterial3D read GetMaterial; |
|
property MaterialCount: integer read FMaterialCount; |
|
property NormalCount: integer read GetNormalCount; |
|
property Object3D[AIndex: integer]: IBGRAObject3D read GetObject; |
|
property Object3DCount: integer read FObjectCount; |
|
property RenderedFaceCount : integer read FRenderedFaceCount; |
|
property Surface: TBGRACustomBitmap read FSurface write FSurface; |
|
property VertexCount: integer read GetVertexCount; |
|
property ViewCenter: TPointF read GetViewCenter write SetViewCenter; |
|
property ViewPoint: TPoint3D read GetViewPoint write SetViewPoint; |
|
property Zoom: TPointF read GetZoom write SetZoom; |
Description
Fields
DefaultLightingNormal: TLightingNormal3D; |
|
This item has no description. |
FetchDirectory: string; |
|
This item has no description. |
FetchThrowsException: boolean; |
|
This item has no description. |
FMaterialLibrariesFetched: array of string; |
|
This item has no description. |
FRenderer: TCustomRenderer3D; |
|
This item has no description. |
FTexturesFetched: array of record
Name: string;
Bitmap: TBGRACustomBitmap;
end; |
|
This item has no description. |
RenderingOptions: TRenderingOptions; |
|
This item has no description. |
UnknownColor: TBGRAPixel; |
|
This item has no description. |
Methods
constructor Create(ASurface: TBGRACustomBitmap); overload; |
|
This item has no description. |
constructor Create; overload; |
|
This item has no description. |
destructor Destroy; override; |
|
This item has no description. |
function AddDirectionalLight(ADirection: TPoint3D; ALightness: single = 1; AMinIntensity : single = 0): IBGRADirectionalLight3D; overload; |
|
This item has no description. |
function AddDirectionalLight(ADirection: TPoint3D; AColor: TBGRAPixel; AMinIntensity: single = 0): IBGRADirectionalLight3D; overload; |
|
This item has no description. |
function AddPointLight(AVertex: IBGRAVertex3D; AOptimalDistance: single; AColor: TBGRAPixel; AMinIntensity: single = 0): IBGRAPointLight3D; overload; |
|
This item has no description. |
function AddPointLight(AVertex: IBGRAVertex3D; AOptimalDistance: single; ALightness: single = 1; AMinIntensity : single = 0): IBGRAPointLight3D; overload; |
|
This item has no description. |
function CreateHalfSphere(ARadius: Single; AColor: TBGRAPixel; AHorizPrecision: integer = 6; AVerticalPrecision : integer = 6): IBGRAObject3D; overload; |
|
This item has no description. |
function CreateHalfSphere(ARadius: Single; AHorizPrecision: integer = 6; AVerticalPrecision : integer = 6): IBGRAObject3D; overload; |
|
This item has no description. |
function CreateMaterial: IBGRAMaterial3D; overload; |
|
This item has no description. |
function CreateMaterial(ASpecularIndex: integer): IBGRAMaterial3D; overload; |
|
This item has no description. |
function CreateObject(AColor: TBGRAPixel): IBGRAObject3D; overload; |
|
This item has no description. |
function CreateObject(ATexture: IBGRAScanner): IBGRAObject3D; overload; |
|
This item has no description. |
function CreateObject: IBGRAObject3D; overload; |
|
This item has no description. |
function CreateSphere(ARadius: Single; AHorizPrecision: integer = 8; AVerticalPrecision : integer = 6): IBGRAObject3D; overload; |
|
This item has no description. |
function CreateSphere(ARadius: Single; AColor: TBGRAPixel; AHorizPrecision: integer = 8; AVerticalPrecision : integer = 6): IBGRAObject3D; overload; |
|
This item has no description. |
function FetchObject(AName: string; SwapFacesOrientation: boolean = true): IBGRAObject3D; |
|
This item has no description. |
function GetMaterialByName(AName: string): IBGRAMaterial3D; |
|
This item has no description. |
function LoadObjectFromFile(AFilename: string; SwapFacesOrientation: boolean = true): IBGRAObject3D; |
|
This item has no description. |
function LoadObjectFromFileUTF8(AFilename: string; SwapFacesOrientation: boolean = true): IBGRAObject3D; |
|
This item has no description. |
function LoadObjectFromStream(AStream: TStream; SwapFacesOrientation: boolean = true): IBGRAObject3D; |
|
This item has no description. |
function MakeLightList: TList; |
|
This item has no description. |
function FetchTexture(AName: string; out texSize: TPointF): IBGRAScanner; virtual; |
|
This item has no description. |
function GetRenderHeight: integer; |
|
This item has no description. |
function GetRenderWidth: integer; |
|
This item has no description. |
function LoadBitmapFromFileUTF8(AFilenameUTF8: string): TBGRACustomBitmap; virtual; |
|
This item has no description. |
procedure Clear; virtual; |
|
This item has no description. |
procedure FetchMaterials(ALibraryName: string); virtual; |
|
This item has no description. |
procedure ForEachFace(ACallback: TFace3DCallback); |
|
This item has no description. |
procedure ForEachVertex(ACallback: TVertex3DCallback); |
|
This item has no description. |
procedure LoadMaterialsFromFile(AFilename: string); |
|
This item has no description. |
procedure LoadMaterialsFromFileUTF8(AFilename: string); |
|
This item has no description. |
procedure LoadMaterialsFromStream(AStream: TStream); |
|
This item has no description. |
procedure LookAt(AWhere: TPoint3D; ATopDir: TPoint3D); |
|
This item has no description. |
procedure LookDown(angleDeg: single); |
|
This item has no description. |
procedure LookLeft(angleDeg: single); |
|
This item has no description. |
procedure LookRight(angleDeg: single); |
|
This item has no description. |
procedure LookUp(angleDeg: single); |
|
This item has no description. |
procedure RemoveLight(ALight: IBGRALight3D); |
|
This item has no description. |
procedure RemoveObject(AObject: IBGRAObject3D); |
|
This item has no description. |
procedure Render(ARenderer: TCustomRenderer3D); overload; |
|
This item has no description. |
procedure Render; overload; virtual; |
|
This item has no description. |
procedure SetZoom(value: TPointF); overload; |
|
This item has no description. |
procedure SetZoom(value: Single); overload; |
|
This item has no description. |
procedure UpdateMaterial(AMaterialName: string); virtual; |
|
This item has no description. |
procedure UpdateMaterials; virtual; |
|
This item has no description. |
procedure DoClear; virtual; |
|
This item has no description. |
procedure DoRender; virtual; |
|
This item has no description. |
procedure HandleFetchException(AException: Exception); virtual; |
|
This item has no description. |
procedure InvalidateMaterial; |
|
This item has no description. |
procedure OnMaterialTextureChanged(ASender: TObject); virtual; |
|
This item has no description. |
procedure SetDefaultMaterial(AValue: IBGRAMaterial3D); |
|
This item has no description. |
procedure UseMaterial(AMaterialName: string; AFace: IBGRAFace3D); virtual; |
|
This item has no description. |
Properties
property AmbiantLightColor: TBGRAPixel read GetAmbiantLightColor write SetAmbiantLightColor; |
|
This item has no description. |
property AmbiantLightColorF: TColorF read GetAmbiantLightColorF write SetAmbiantLightColorF; |
|
This item has no description. |
property AmbiantLightness: single read GetAmbiantLightness write SetAmbiantLightness; |
|
This item has no description. |
property AutoViewCenter: boolean read FAutoViewCenter write SetAutoViewCenter; |
|
This item has no description. |
property AutoZoom: boolean read FAutoZoom write SetAutoZoom; |
|
This item has no description. |
property Camera: TCamera3D read FCamera; |
|
This item has no description. |
property DefaultMaterial: IBGRAMaterial3D read FDefaultMaterial write SetDefaultMaterial; |
|
This item has no description. |
property FaceCount: integer read GetFaceCount; |
|
This item has no description. |
property Light[AIndex: integer]: IBGRALight3D read GetLight; |
|
This item has no description. |
property LightCount: integer read GetLightCount; |
|
This item has no description. |
property Material[AIndex: integer]: IBGRAMaterial3D read GetMaterial; |
|
This item has no description. |
property MaterialCount: integer read FMaterialCount; |
|
This item has no description. |
property NormalCount: integer read GetNormalCount; |
|
This item has no description. |
property Object3D[AIndex: integer]: IBGRAObject3D read GetObject; |
|
This item has no description. |
property Object3DCount: integer read FObjectCount; |
|
This item has no description. |
property RenderedFaceCount : integer read FRenderedFaceCount; |
|
This item has no description. |
property Surface: TBGRACustomBitmap read FSurface write FSurface; |
|
This item has no description. |
property VertexCount: integer read GetVertexCount; |
|
This item has no description. |
property ViewCenter: TPointF read GetViewCenter write SetViewCenter; |
|
This item has no description. |
property ViewPoint: TPoint3D read GetViewPoint write SetViewPoint; |
|
This item has no description. |
property Zoom: TPointF read GetZoom write SetZoom; |
|
This item has no description. |