Class TFogNode

Unit

Declaration

type TFogNode = class(TAbstractBindableNode)

Description

Simulate atmospheric fog effects (for the whole scene) by blending with the fog colour, based on the distance from the viewer.

Source: scene/x3d/x3dnodes_standard_environmentaleffects.inc (line 79).

Hierarchy

Overview

Methods

Public constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override;
Public function FogTypeOrNone: TFogTypeOrNone;
Public procedure ApplyFog(var Color: TVector3; const Position, VertexPos: TVector3; const AFogType: TFogTypeOrNone);
Public procedure CreateNode; override;
Public class function ClassX3DType: String; override;

Properties

Public property FdColor: TSFColor read FFdColor;
Public property Color: TCastleColorRGB read GetColor write SetColor;
Public property FdFogType: TSFStringEnum read FFdFogType;
Public property FogType: TFogType read GetFogType write SetFogType;
Public property FdVisibilityRange: TSFFloat read FFdVisibilityRange;
Public property VisibilityRange: Single read GetVisibilityRange write SetVisibilityRange;
Public property FdVolumetric: TSFBool read FFdVolumetric;
Public property Volumetric: Boolean read GetVolumetric write SetVolumetric;
Public property FdVolumetricDirection: TSFVec3f read FFdVolumetricDirection;
Public property VolumetricDirection: TVector3 read GetVolumetricDirection write SetVolumetricDirection;
Public property FdVolumetricVisibilityStart: TSFFloat read FFdVolumetricVisibilityStart;
Public property VolumetricVisibilityStart: Single read GetVolumetricVisibilityStart write SetVolumetricVisibilityStart;

Description

Methods

Public constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override;

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

Constructor. Initializes various properties:

  • Name, BaseUrl are initialized from given parameters.

  • The Fields, Events lists are filled in every descendant, to have all the fields/events defined by the specification.

  • DefaultContainerField, and other node-specific stuff, is filled in descendants. This is actually implemented in CreateNode, that is called at the end of this constructor.

Source: scene/x3d/x3dnodes_standard_environmentaleffects.inc (line 101).

Public function FogTypeOrNone: TFogTypeOrNone;

Fog type, but may also return ftNone if we are Nil (checks Self <> nil) or visibilityRange = 0.

Source: scene/x3d/x3dnodes_standard_environmentaleffects.inc (line 105).

Public procedure ApplyFog(var Color: TVector3; const Position, VertexPos: TVector3; const AFogType: TFogTypeOrNone);

Apply fog to the color of the vertex.

This can be used by software renderers (ray-tracers etc.) to calculate pixel color following VRML/X3D specifications. After all the lighting is summed up (see TX3DGraphTraverseState.Emission and TLightInstance.Contribution), process color by this method to apply fog.

Does nothing if AFogType = ftNone. In this special case, it's also allowed to call this on Nil instance.

Source: scene/x3d/x3dnodes_standard_environmentaleffects.inc (line 116).

Public procedure CreateNode; override;

Create node fields and events.

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 41).

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.

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 42).

Properties

Public property FdColor: TSFColor read FFdColor;

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

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 46).

Public property Color: TCastleColorRGB read GetColor write SetColor;

This item has no description.

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 48).

Public property FdFogType: TSFStringEnum read FFdFogType;

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

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 52).

Public property FogType: TFogType read GetFogType write SetFogType;

This item has no description.

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 54).

Public property FdVisibilityRange: TSFFloat read FFdVisibilityRange;

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

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 58).

Public property VisibilityRange: Single read GetVisibilityRange write SetVisibilityRange;

This item has no description.

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 60).

Public property FdVolumetric: TSFBool read FFdVolumetric;

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

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 64).

Public property Volumetric: Boolean read GetVolumetric write SetVolumetric;

Activate volumetric fog, see https://castle-engine.io/x3d_extensions.php

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 66).

Public property FdVolumetricDirection: TSFVec3f read FFdVolumetricDirection;

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

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 70).

Public property VolumetricDirection: TVector3 read GetVolumetricDirection write SetVolumetricDirection;

This item has no description.

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 72).

Public property FdVolumetricVisibilityStart: TSFFloat read FFdVolumetricVisibilityStart;

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

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 76).

Public property VolumetricVisibilityStart: Single read GetVolumetricVisibilityStart write SetVolumetricVisibilityStart;

This item has no description.

Source: scene/x3d/auto_generated_node_helpers/x3dnodes_fog.inc (line 78).


Generated by PasDoc 0.17.0.snapshot.