Castle Game Engine: X3DNodes: Class TFogNode

# Class TFogNode
Description | Hierarchy | Fields | Methods | Properties
## Unit X3DNodes ## Declaration `type TFogNode = class(TAbstractBindableNode, IAbstractFogObject)` ## Description no description available, TAbstractBindableNode description follows no description available, TAbstractChildNode description follows no description available, TAbstractNode description follows Base X3D node. Almost all X3D nodes inherit from this. (Exception: X3DMetadataObject. So you cannot have metadata of metadata of...) ## Hierarchy TPersistent TNonRefCountedInterfacedPersistent TX3DFileItem TX3DNode TAbstractNode TAbstractChildNode TAbstractBindableNode TFogNode ## Overview ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `function TransformationChange: TNodeTransformationChange; override;`
| `function FogType: TFogType;`
| `function FogTypeOrNone: TFogTypeOrNone;`
| `procedure ApplyFog(var Color: TVector3Single; const Position, VertexPos: TVector3Single; const AFogType: TFogTypeOrNone);`
### Properties
| `property FdColor: TSFColor read FFdColor;`
| `property FdFogType: TSFString read FFdFogType;`
| `property FdVisibilityRange: TSFFloat read FFdVisibilityRange;`
| `property FdVolumetric: TSFBool read FFdVolumetric;`
| `property FdVolumetricDirection: TSFVec3f read FFdVolumetricDirection;`
| `property FdVolumetricVisibilityStart: TSFFloat read FFdVolumetricVisibilityStart;`
| `property FdAlternative: TSFNode read FFdAlternative;`
## Description ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `function TransformationChange: TNodeTransformationChange; override;`
| `function FogType: TFogType;`
Fog type.
| `function FogTypeOrNone: TFogTypeOrNone;`
Fog type, but may also return ftNone if we are `Nil` (checks Self <> nil) or visibilityRange = 0.
| `procedure ApplyFog(var Color: TVector3Single; const Position, VertexPos: TVector3Single; 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.
### Properties
| `property FdColor: TSFColor read FFdColor;`
| `property FdFogType: TSFString read FFdFogType;`
| `property FdVisibilityRange: TSFFloat read FFdVisibilityRange;`
| `property FdVolumetric: TSFBool read FFdVolumetric;`
| `property FdVolumetricDirection: TSFVec3f read FFdVolumetricDirection;`
| `property FdVolumetricVisibilityStart: TSFFloat read FFdVolumetricVisibilityStart;`
| `property FdAlternative: TSFNode read FFdAlternative;`
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:15