Class TEffectNode

Unit

Declaration

type TEffectNode = class(TAbstractChildNode)

Description

Shader effect, that can be composed with other effect or standard rendering. See https://castle-engine.io/compositing_shaders.php .

Hierarchy

Overview

Methods

Protected procedure GroupBeforeTraverse(const State: TX3DGraphTraverseState; var WasPointingDeviceSensor: Boolean); override;
Public constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override;
Public procedure CreateNode; override;
Public class function ClassX3DType: String; override;
Public procedure SetParts(const Value: array of TEffectPartNode);

Properties

Public property FdLanguage: TSFStringEnum read FFdLanguage;
Public property Language: TShaderLanguage read GetLanguage write SetLanguage;
Public property FdEnabled: TSFBool read FFdEnabled;
Public property Enabled: Boolean read GetEnabled write SetEnabled;
Public property FdParts: TMFNode read FFdParts;
Public property FdUniformMissing: TSFStringEnum read FFdUniformMissing;
Public property UniformMissing: TUniformMissing read GetUniformMissing write SetUniformMissing;

Description

Methods

Protected procedure GroupBeforeTraverse(const State: TX3DGraphTraverseState; var WasPointingDeviceSensor: Boolean); override;

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

React when this node is processed as an immediate child of a grouping node, within grouping node's BeforeTraverse.

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.

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 SetParts(const Value: array of TEffectPartNode);

This item has no description.

Properties

Public property FdLanguage: TSFStringEnum read FFdLanguage;

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

Public property Language: TShaderLanguage read GetLanguage write SetLanguage;

Shading language. Only the GLSL (OpenGL Shading Language) is actually supported. The default value, empty string, is equivalent to GLSL.

Public property FdEnabled: TSFBool read FFdEnabled;

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

Public property Enabled: Boolean read GetEnabled write SetEnabled;

This item has no description.

Public property FdParts: TMFNode read FFdParts;

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

Public property FdUniformMissing: TSFStringEnum read FFdUniformMissing;

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

Public property UniformMissing: TUniformMissing read GetUniformMissing write SetUniformMissing;

Should we report a missing uniform value. Setting this to umWarning (default) is useful to spot simple mistakes in naming uniforms. On the other hand, OpenGL aggressively removes unused uniforms from code, and it may cause spurious messages that some uniform is missing – even though the shader is correct, is just doesn't use some uniform value e.g. because no lights are present on the current scene.


Generated by PasDoc 0.16.0-snapshot.