Class TMaterialInfo

Unit

Declaration

type TMaterialInfo = class abstract(TObject)

Description

Abstract class for material information, that define material properties for various lighting equations. Particular public descendants define different lighting equations. Particular private descendants map X3D nodes' fields to these parameters.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 25).

Hierarchy

  • TObject
  • TMaterialInfo

Overview

Fields

Public nested const DefaultTransparency = 0.0;

Methods

Protected function GetMainColor: TVector3; virtual; abstract;
Protected procedure SetMainColor(const Value: TVector3); virtual; abstract;
Protected function GetEmissiveColor: TVector3; virtual; abstract;
Protected procedure SetEmissiveColor(const Value: TVector3); virtual; abstract;
Protected function GetTransparency: Single; virtual; abstract;
Protected procedure SetTransparency(const Value: Single); virtual; abstract;
Public constructor Create(ANode: TX3DNode);
Public function MainTexture( const Appearance: TAppearanceNode; const VRML1State: TVRML1State): TAbstractTextureNode; overload; virtual; abstract;
Public function MainTexture( const Appearance: TAppearanceNode; const VRML1State: TVRML1State; const GeometryForTexCoord: TAbstractGeometryNode; out TexCoordIndex: Integer): TAbstractTextureNode; overload; virtual; abstract;

Properties

Public property Node: TX3DNode read FNode;
Public property Transparency: Single read GetTransparency write SetTransparency;
Public property Opacity: Single read GetOpacity write SetOpacity;
Public property MainColor: TVector3 read GetMainColor write SetMainColor;
Public property EmissiveColor: TVector3 read GetEmissiveColor write SetEmissiveColor;

Description

Fields

Public nested const DefaultTransparency = 0.0;

This item has no description.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 39).

Methods

Protected function GetMainColor: TVector3; virtual; abstract;

This item has no description.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 31).

Protected procedure SetMainColor(const Value: TVector3); virtual; abstract;

This item has no description.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 32).

Protected function GetEmissiveColor: TVector3; virtual; abstract;

This item has no description.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 33).

Protected procedure SetEmissiveColor(const Value: TVector3); virtual; abstract;

This item has no description.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 34).

Protected function GetTransparency: Single; virtual; abstract;

This item has no description.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 35).

Protected procedure SetTransparency(const Value: Single); virtual; abstract;

This item has no description.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 36).

Public constructor Create(ANode: TX3DNode);

This item has no description.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 41).

Public function MainTexture( const Appearance: TAppearanceNode; const VRML1State: TVRML1State): TAbstractTextureNode; overload; virtual; abstract;

Texture that determines the primary RGB color and transparency (opacity). See TX3DGraphTraverseState.MainTexture, which is really a shortcut to call this.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 74).

Public function MainTexture( const Appearance: TAppearanceNode; const VRML1State: TVRML1State; const GeometryForTexCoord: TAbstractGeometryNode; out TexCoordIndex: Integer): TAbstractTextureNode; overload; virtual; abstract;

This item has no description.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 77).

Properties

Public property Node: TX3DNode read FNode;

Associated material node.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 44).

Public property Transparency: Single read GetTransparency write SetTransparency;

Transparency of the material determines how much is it "see-through". Value 0 (DefaultTransparency) means fully opaque, 1 means fully transparent.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 48).

Public property Opacity: Single read GetOpacity write SetOpacity;

Opacity of the material, just 1 - Transparency. Sometimes it is more intuitive to use this than Transparency.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 52).

Public property MainColor: TVector3 read GetMainColor write SetMainColor;

Single color that is the best approximation of this material look.

For Phong material, it's DiffuseColor. For unlit material, it's EmissiveColor. For physical material, it's BaseColor.

This is useful for debug purposes, for example when we force everything to be unlit by Attributes.Lighting=false. It doesn't follow any X3D official equations, it's only for debugging.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 62).

Public property EmissiveColor: TVector3 read GetEmissiveColor write SetEmissiveColor;

Emissive color represents the color of the material that is not affected by any light sources. All material types (unlit, Phong, physical) have this color.

Source: scene/x3d/x3dnodes_utils_materials.inc (line 67).


Generated by PasDoc 0.17.0.snapshot.