Class TAbstractTextureNode
Unit
Declaration
type TAbstractTextureNode = class(TAbstractAppearanceChildNode)
Description
Base for all nodes which specify a texture, possibly multi-texture.
Hierarchy
- TObject
- TPersistent
- TX3DFileItem
- TX3DNode
- TAbstractNode
- TAbstractAppearanceChildNode
- TAbstractTextureNode
Overview
Methods
![]() |
procedure InternalRendererResourceFree; |
![]() |
destructor Destroy; override; |
![]() |
function TextureDescription: string; virtual; |
![]() |
function AlphaChannelFinal: TAlphaChannel; virtual; |
![]() |
function Color(const TexCoord: TVector2): TCastleColor; overload; |
![]() |
function Color(const TexCoord: TVector4): TCastleColor; overload; |
![]() |
procedure CreateNode; override; |
![]() |
class function ClassX3DType: String; override; |
Description
Methods
![]() |
procedure InternalRendererResourceFree; |
Free InternalRendererResource, if any. |
![]() |
destructor Destroy; override; |
This item has no description. |
![]() |
function TextureDescription: string; virtual; |
Short description how texture is defined, is it inline or loaded from URL, is it video of simple image texture. "none" if it's not defined at all. Calling this may not cause automatically loading the texture data (for exampe, from file in case of TAbstractTexture2DNode). So it cannot describe the actually loaded data. In this class, simply returns X3DType. Override to say something more descriptive. |
![]() |
function AlphaChannelFinal: TAlphaChannel; virtual; |
Alpha channel of the loaded texture data. Looks at loaded texture data, and at alphaChannel field (see https://castle-engine.io/x3d_extensions.php#section_ext_alpha_channel_detection ). In case of MultiTexture node, looks at children. |
![]() |
function Color(const TexCoord: TVector2): TCastleColor; overload; |
Query pixel color of the texture at the given texture coordinates. Texture coordinates can be given as 2D or 4D vector.
This method replicates (doing on CPU) what the GPU is doing when rendering a shape with this texture set as the main texture (TX3DGraphTraverseState.MainTexture). We handle the most common texture setups, but we do not handle all the possibilities that OpenGL rendering supports. Details:
See https://forum.castle-engine.io/t/transformundermouse-with-alpha-pixels-check-for-quad-based-transforms/1494/3 for a practical usage example of this. |
![]() |
function Color(const TexCoord: TVector4): TCastleColor; overload; |
This item has no description. |
![]() |
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. |
Generated by PasDoc 0.16.0-snapshot.