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.

Hierarchy

Overview

Methods

Public constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override;
Public function TransformationChange: TNodeTransformationChange; 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;
 
Public function TransformationChange: TNodeTransformationChange; override;
 
Public function FogTypeOrNone: TFogTypeOrNone;

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

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.

Public procedure CreateNode; override;
 
Public class function ClassX3DType: string; override;
 

Properties

Public property FdColor: TSFColor read FFdColor;

Internal wrapper for property Color. This wrapper API may change, we advise to access simpler Color instead.

Public property Color: TCastleColorRGB read GetColor write SetColor;
 
Public property FdFogType: TSFStringEnum read FFdFogType;

Internal wrapper for property FogType. This wrapper API may change, we advise to access simpler FogType instead.

Public property FogType: TFogType read GetFogType write SetFogType;
 
Public property FdVisibilityRange: TSFFloat read FFdVisibilityRange;

Internal wrapper for property VisibilityRange. This wrapper API may change, we advise to access simpler VisibilityRange instead.

Public property VisibilityRange: Single read GetVisibilityRange write SetVisibilityRange;
 
Public property FdVolumetric: TSFBool read FFdVolumetric;

Internal wrapper for property Volumetric. This wrapper API may change, we advise to access simpler Volumetric instead.

Public property Volumetric: Boolean read GetVolumetric write SetVolumetric;

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

Public property FdVolumetricDirection: TSFVec3f read FFdVolumetricDirection;

Internal wrapper for property VolumetricDirection. This wrapper API may change, we advise to access simpler VolumetricDirection instead.

Public property VolumetricDirection: TVector3 read GetVolumetricDirection write SetVolumetricDirection;
 
Public property FdVolumetricVisibilityStart: TSFFloat read FFdVolumetricVisibilityStart;

Internal wrapper for property VolumetricVisibilityStart. This wrapper API may change, we advise to access simpler VolumetricVisibilityStart instead.

Public property VolumetricVisibilityStart: Single read GetVolumetricVisibilityStart write SetVolumetricVisibilityStart;
 

Generated by PasDoc 0.16.0.