Class TShaderPartNode

Unit

Declaration

type TShaderPartNode = class(TAbstractNode)

Description

OpenGL Shading Language (GLSL) shader part, used inside TComposedShaderNode.

Hierarchy

Overview

Methods

Public constructor Create(const AX3DName: String = ''; const ABaseUrl: String = ''); override;
Public procedure CreateNode; override;
Public class function ClassX3DType: String; override;
Public procedure SetUrl(const Value: array of string); overload;
Public procedure SetUrl(const Value: TCastleStringList); overload;

Properties

Public property Contents: String read GetContents write SetContents;
Public property FdUrl: TMFString read FFdUrl;
Public property FdType: TSFStringEnum read FFdType;
Public property ShaderType: TShaderType read GetShaderType write SetShaderType;

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.

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 SetUrl(const Value: array of string); overload;

This item has no description.

Public procedure SetUrl(const Value: TCastleStringList); overload;

This item has no description.

Properties

Public property Contents: String read GetContents write SetContents;

The shader code.

Getting this automatically loads the shader code pointed by the URL field of this node. The shader code may be specified in an external file, or inline using "data URI", see https://castle-engine.io/manual_network.php . The shader code may also be specified using the XML "CDATA" in X3D XML encoding. Returns '' of no valid URLs are present (loading errors are reported to WritelnWarning).

Setting this overrides the URL field, to specify only the given shader code.

Public property FdUrl: TMFString read FFdUrl;

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

Public property FdType: TSFStringEnum read FFdType;

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

Public property ShaderType: TShaderType read GetShaderType write SetShaderType;

This item has no description.


Generated by PasDoc 0.16.0-snapshot.