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/shaders .
Hierarchy
- TObject
- TPersistent
- TX3DFileItem
- TX3DNode
- TAbstractNode
- TAbstractChildNode
- TEffectNode
Overview
Methods
![]() |
procedure GroupBeforeTraverse(const State: TX3DGraphTraverseState; var WasPointingDeviceSensor: Boolean); override; |
![]() |
constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override; |
![]() |
procedure CreateNode; override; |
![]() |
class function ClassX3DType: String; override; |
![]() |
procedure SetParts(const Value: array of TEffectPartNode); |
![]() |
procedure SetShaderLibraries(const Value: array of string); overload; |
![]() |
procedure SetShaderLibraries(const Value: TCastleStringList); overload; |
Properties
![]() |
property FdLanguage: TSFStringEnum read FFdLanguage; |
![]() |
property Language: TShaderLanguage read GetLanguage write SetLanguage; |
![]() |
property FdEnabled: TSFBool read FFdEnabled; |
![]() |
property Enabled: Boolean read GetEnabled write SetEnabled; |
![]() |
property FdParts: TMFNode read FFdParts; |
![]() |
property FdUniformMissing: TSFStringEnum read FFdUniformMissing; |
![]() |
property UniformMissing: TUniformMissing read GetUniformMissing write SetUniformMissing; |
![]() |
property FdShaderLibraries: TMFString read FFdShaderLibraries; |
Description
Methods
![]() |
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. |
![]() |
constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override; |
This item has no description. Showing description inherited from TX3DNode.Create. Constructor. Initializes various properties:
|
![]() |
procedure CreateNode; override; |
Create node fields and events. |
![]() |
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. |
![]() |
procedure SetParts(const Value: array of TEffectPartNode); |
This item has no description. |
![]() |
procedure SetShaderLibraries(const Value: TCastleStringList); overload; |
Additional libraries of shader code to link with this effect. Each "shader library" defines a shader code, just like an additional EffectNode. This code can define new GLSL functions to use in your effect code, e.g. Right now, only one shader library is allowed: 'castle-shader:/EyeWorldSpace.glsl'. This is linked with both vertex and fragment stages, and exposes new GLSL functions you can use: vec4 position_world_to_eye_space(vec4 position_world); vec4 position_eye_to_world_space(vec4 position_eye); vec3 direction_world_to_eye_space(vec3 direction_world); vec3 direction_eye_to_world_space(vec3 direction_eye);
See examples/shaders/shader_effects_on_background/ for a demo. |
Properties
![]() |
property FdLanguage: TSFStringEnum read FFdLanguage; |
Internal wrapper for property |
![]() |
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. |
![]() |
property FdEnabled: TSFBool read FFdEnabled; |
Internal wrapper for property |
![]() |
property Enabled: Boolean read GetEnabled write SetEnabled; |
This item has no description. |
![]() |
property FdParts: TMFNode read FFdParts; |
Internal wrapper for property |
![]() |
property FdUniformMissing: TSFStringEnum read FFdUniformMissing; |
Internal wrapper for property |
![]() |
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. |
![]() |
property FdShaderLibraries: TMFString read FFdShaderLibraries; |
Internal wrapper for property |
Generated by PasDoc 0.16.0-snapshot.