Class TAppearanceNode

Unit

Declaration

type TAppearanceNode = class(TAbstractAppearanceNode)

Description

Visual properties of geometry.

Note that the geometry is unlit (pure white, regardless of lighting) if no Material is assigned. To make the geometry lit, you can just set there a default material created by TMaterialNode.Create.

Hierarchy

Overview

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
Protected procedure ParseAfter(Reader: TX3DReaderNames); override;
Public function CommonSurfaceShader: TCommonSurfaceShaderNode; deprecated 'use TMaterialNode instead of TCommonSurfaceShaderNode (it has the same functionality and is standardized in X3D v4)';
Public function MainTexture: TAbstractTextureNode; overload;
Public function MainTexture(const GeometryForTexCoord: TAbstractGeometryNode; out TexCoordIndex: Integer): TAbstractTextureNode; overload;
Public function InternalMaterialProperty: TMaterialProperty;
Public function MaterialProperty: TMaterialProperty; deprecated 'use InternalMaterialProperty, or (better) do not use it at all -- this is internal';
Public procedure CreateNode; override;
Public class function ClassX3DType: String; override;
Public procedure SetShaders(const Value: array of TAbstractShaderNode);
Public procedure SetReceiveShadows(const Value: array of TAbstractPunctualLightNode);
Public procedure SetEffects(const Value: array of TEffectNode);

Properties

Public property FdFillProperties: TSFNode read FFdFillProperties;
Public property FillProperties: TFillPropertiesNode read GetFillProperties write SetFillProperties;
Public property FdLineProperties: TSFNode read FFdLineProperties;
Public property LineProperties: TLinePropertiesNode read GetLineProperties write SetLineProperties;
Public property FdMaterial: TSFNode read FFdMaterial;
Public property Material: TAbstractMaterialNode read GetMaterial write SetMaterial;
Public property FdShaders: TMFNode read FFdShaders;
Public property FdTexture: TSFNode read FFdTexture;
Public property Texture: TAbstractTextureNode read GetTexture write SetTexture;
Public property FdTextureTransform: TSFNode read FFdTextureTransform;
Public property TextureTransform: TAbstractTextureTransformNode read GetTextureTransform write SetTextureTransform;
Public property FdBackMaterial: TSFNode read FFdBackMaterial;
Public property BackMaterial: TAbstractOneSidedMaterialNode read GetBackMaterial write SetBackMaterial;
Public property FdAlphaMode: TSFStringEnum read FFdAlphaMode;
Public property AlphaMode: TAlphaMode read GetAlphaMode write SetAlphaMode;
Public property FdAlphaCutoff: TSFFloat read FFdAlphaCutoff;
Public property AlphaCutoff: Single read GetAlphaCutoff write SetAlphaCutoff;
Public property FdReceiveShadows: TMFNode read FFdReceiveShadows;
Public property FdShadowCaster: TSFBool read FFdShadowCaster;
Public property ShadowCaster: Boolean read GetShadowCaster write SetShadowCaster;
Public property FdNormalMap: TSFNode read FFdNormalMap;
Public property NormalMap: TAbstractTexture2DNode read GetNormalMap write SetNormalMap;
Public property FdHeightMap: TSFNode read FFdHeightMap;
Public property HeightMap: TAbstractTexture2DNode read GetHeightMap write SetHeightMap;
Public property FdHeightMapScale: TSFFloat read FFdHeightMapScale;
Public property HeightMapScale: Single read GetHeightMapScale write SetHeightMapScale;
Public property FdBlendMode: TSFNode read FFdBlendMode;
Public property BlendMode: TBlendModeNode read GetBlendMode write SetBlendMode;
Public property FdEffects: TMFNode read FFdEffects;
Public property FdAlphaChannel: TSFStringEnum read FFdAlphaChannel;
Public property AlphaChannel: TAutoAlphaChannel read GetAlphaChannel write SetAlphaChannel;

Description

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;

This item has no description. Showing description inherited from TX3DNode.DirectEnumerateActive.

Enumerate all active child nodes of given node.

"Active nodes" are the ones affecting current look or collisions, e.g. from Switch node only one child will be enumerated. See Traverse for more precise definition.

"Direct" means that this enumerates only direct descendants, i.e. this is not recursive. See methods like Traverse or EnumerateNodes if you want recursive behavior.

This can enumerate both VRML1Children nodes and nodes within TSFNode and TMFNode fields.

Default implementation in this class enumerates all Children nodes of VRML 1.0. If you need to remove some children for VRML 1.0 (e.g. for Switch or LOD nodes) or add some children for VRML 2.0 you have to override this. You do not need to call inherited when overriding this — in fact, you should not, if you want to omit some nodes.

Stops and returns immediately if Func returns non-nil for some child.

Protected procedure ParseAfter(Reader: TX3DReaderNames); override;

This item has no description. Showing description inherited from TX3DNode.ParseAfter.

Called at the end of parsing this node (including children) in any encoding.

Public function CommonSurfaceShader: TCommonSurfaceShaderNode; deprecated 'use TMaterialNode instead of TCommonSurfaceShaderNode (it has the same functionality and is standardized in X3D v4)';

Warning: this symbol is deprecated: use TMaterialNode instead of TCommonSurfaceShaderNode (it has the same functionality and is standardized in X3D v4)

Find a suitable CommonSurfaceShader to be used when rendering this shape, or Nil.

Public function MainTexture: TAbstractTextureNode; overload;

Texture that determines the primary RGB color of the material, and transparency of the material.

This is the texture used when rendering using Gouraud shading (following the new X3D 4 specification advise).

For Phong shading, this is the texture: - diffuseTexture for Material - emissiveTexture for UnlitMaterial - baseTexture for PhysicalMaterial

This is also the texture that determines the opacity of the material.

This is also the texture which is affected by FdTexture field (if appropriate material slot is empty).

The overloaded version with TexCoordIndex parameter also specifies which texture coordinates / transformations should be used for this texture. It returns -1 when we should use standard MultiTexture specification for this, which also covers the case when MainTexture is a MultiTexture node, and should use appropriate texture coordinates for MultiTexture children.

Returns Nil if none.

Public function MainTexture(const GeometryForTexCoord: TAbstractGeometryNode; out TexCoordIndex: Integer): TAbstractTextureNode; overload;

This item has no description.

Public function InternalMaterialProperty: TMaterialProperty;

This item has no description.

Public function MaterialProperty: TMaterialProperty; deprecated 'use InternalMaterialProperty, or (better) do not use it at all -- this is internal';

Warning: this symbol is deprecated: use InternalMaterialProperty, or (better) do not use it at all -- this is internal

This item has no description.

Public procedure CreateNode; override;

Create node fields and events.

Public class function ClassX3DType: String; override;

This item has no description. Showing description inherited from TX3DNode.ClassX3DType.

Node type name in VRML/X3D, for this class. Normal VRML/X3D node classes should override this to return something non-empty, and then X3DType automatically will return the same value.

Empty for classes that don't have a hardcoded VRML/X3D node name, like a special TX3DUnknownNode. Such special classes should override then X3DType to return actual non-empty name there.

You usually should call X3DType. The only use of this method is that it works on classes (it's "class function"), without needing at actual instance.

Public procedure SetShaders(const Value: array of TAbstractShaderNode);

Override shaders used for rendering this shape. Instead of this, it is usually better to use SetEffects – the effects set that way are easier, cooperate with CGE built-in rendering features, and one code is more portable to both mobile and desktop.

Public procedure SetReceiveShadows(const Value: array of TAbstractPunctualLightNode);

This item has no description.

Public procedure SetEffects(const Value: array of TEffectNode);

Additional shader code for rendering this shape. See https://castle-engine.io/compositing_shaders.php . The shader effects they are easy to use, cooperate with CGE built-in rendering features, and one code is more portable to both mobile and desktop.

Properties

Public property FdFillProperties: TSFNode read FFdFillProperties;

Internal wrapper for property FillProperties. This wrapper API may change, we advise to access simpler FillProperties instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property FillProperties: TFillPropertiesNode read GetFillProperties write SetFillProperties;

This item has no description.

Public property FdLineProperties: TSFNode read FFdLineProperties;

Internal wrapper for property LineProperties. This wrapper API may change, we advise to access simpler LineProperties instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property LineProperties: TLinePropertiesNode read GetLineProperties write SetLineProperties;

Properties how to display line geometry (line width and such).

Public property FdMaterial: TSFNode read FFdMaterial;

Internal wrapper for property Material. This wrapper API may change, we advise to access simpler Material instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property Material: TAbstractMaterialNode read GetMaterial write SetMaterial;

Material determines how the shape looks, and how it interacts with lighting.

Public property FdShaders: TMFNode read FFdShaders;

Internal wrapper for property Shaders. This wrapper API may change, we advise to access simpler Shaders instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property FdTexture: TSFNode read FFdTexture;

Internal wrapper for property Texture. This wrapper API may change, we advise to access simpler Texture instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property Texture: TAbstractTextureNode read GetTexture write SetTexture;

Warning: this symbol is deprecated.

Main texture used by this appearance (diffuse texture for Phong lighting model, base texture for physical lighting model, emissive texture for the unlit lighting model). It is more flexible to set the relevant texture inside material node, like TMaterialNode.DiffuseTexture, TPhysicalMaterialNode.BaseTexture, TUnlitMaterialNode.EmissiveTexture.

Public property FdTextureTransform: TSFNode read FFdTextureTransform;

Internal wrapper for property TextureTransform. This wrapper API may change, we advise to access simpler TextureTransform instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property TextureTransform: TAbstractTextureTransformNode read GetTextureTransform write SetTextureTransform;

Texture transformation.

Public property FdBackMaterial: TSFNode read FFdBackMaterial;

Internal wrapper for property BackMaterial. This wrapper API may change, we advise to access simpler BackMaterial instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property BackMaterial: TAbstractOneSidedMaterialNode read GetBackMaterial write SetBackMaterial;

Alternative material to use for back faces (not implemented).

Public property FdAlphaMode: TSFStringEnum read FFdAlphaMode;

Internal wrapper for property AlphaMode. This wrapper API may change, we advise to access simpler AlphaMode instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property AlphaMode: TAlphaMode read GetAlphaMode write SetAlphaMode;

This item has no description.

Public property FdAlphaCutoff: TSFFloat read FFdAlphaCutoff;

Internal wrapper for property AlphaCutoff. This wrapper API may change, we advise to access simpler AlphaCutoff instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property AlphaCutoff: Single read GetAlphaCutoff write SetAlphaCutoff;

This item has no description.

Public property FdReceiveShadows: TMFNode read FFdReceiveShadows;

Internal wrapper for property ReceiveShadows. This wrapper API may change, we advise to access simpler ReceiveShadows instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property FdShadowCaster: TSFBool read FFdShadowCaster;

Internal wrapper for property ShadowCaster. This wrapper API may change, we advise to access simpler ShadowCaster instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property ShadowCaster: Boolean read GetShadowCaster write SetShadowCaster;

This item has no description.

Public property FdNormalMap: TSFNode read FFdNormalMap;

Internal wrapper for property NormalMap. This wrapper API may change, we advise to access simpler NormalMap instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property NormalMap: TAbstractTexture2DNode read GetNormalMap write SetNormalMap;

Normal map of this appearance. See https://castle-engine.io/x3d_implementation_texturing_extensions.php

Public property FdHeightMap: TSFNode read FFdHeightMap;

Internal wrapper for property HeightMap. This wrapper API may change, we advise to access simpler HeightMap instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property HeightMap: TAbstractTexture2DNode read GetHeightMap write SetHeightMap;

Height map of this appearance. See https://castle-engine.io/x3d_implementation_texturing_extensions.php

Public property FdHeightMapScale: TSFFloat read FFdHeightMapScale;

Internal wrapper for property HeightMapScale. This wrapper API may change, we advise to access simpler HeightMapScale instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property HeightMapScale: Single read GetHeightMapScale write SetHeightMapScale;

This item has no description.

Public property FdBlendMode: TSFNode read FFdBlendMode;

Internal wrapper for property BlendMode. This wrapper API may change, we advise to access simpler BlendMode instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property BlendMode: TBlendModeNode read GetBlendMode write SetBlendMode;

Determines the exact blending equation used, in case AlphaMode indicates blending. See https://castle-engine.io/x3d_extensions.php

Public property FdEffects: TMFNode read FFdEffects;

Internal wrapper for property Effects. This wrapper API may change, we advise to access simpler Effects instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property FdAlphaChannel: TSFStringEnum read FFdAlphaChannel;

Internal wrapper for property AlphaChannel. This wrapper API may change, we advise to access simpler AlphaChannel instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property AlphaChannel: TAutoAlphaChannel read GetAlphaChannel write SetAlphaChannel;

This item has no description.


Generated by PasDoc 0.16.0-snapshot.