29 #ifndef __H3DSINGLETEXTURENODE_H__
30 #define __H3DSINGLETEXTURENODE_H__
50 Inst< SFNode > _metadata = 0,
51 Inst< UpdateSaveToURL > _saveToUrl = 0,
52 Inst< SFBool > _saveSuccess = 0,
53 Inst< SFInt32 > _saveHeight = 0,
54 Inst< SFInt32 > _saveWidth = 0 );
101 virtual bool makeResident ();
104 virtual void makeNonResident ();
120 virtual void invalidateTextureHandle ();
130 void addShaderField (
Field& _field );
135 void removeShaderField (
Field& _field );
141 virtual void inUse ();
148 static void makeUnusedTexturesNonResident (
H3DTime _unusedTime );
Contains the DependentSFNode and DependentMFNode template classes.
Header file for H3DImageObject, X3D abstract texture scene-graph node.
Header file for TextureProperties, X3D scene-graph node.
Header file for X3DTextureNode, X3D abstract texture scene-graph node.
The Field class.
Definition: Field.h:46
This abstract node type is the base type for all texture nodes that is defined by a single texture.
Definition: H3DSingleTextureNode.h:45
H3DTime last_used
Time-stamp at which this texture was last used.
Definition: H3DSingleTextureNode.h:180
std::vector< H3DSingleTextureNode * > TextureVector
}
Definition: H3DSingleTextureNode.h:153
virtual int getTextureWidth()
Get the texture width.
Definition: H3DSingleTextureNode.h:69
virtual int getTextureDepth()
Get the texture depth.
Definition: H3DSingleTextureNode.h:75
virtual void setTextureId(GLuint _id)
Set the OpenGL texture id that is used for this texture.
Definition: H3DSingleTextureNode.h:87
GLint texture_unit
The OpenGL texture unit that is used to render this texture.
Definition: H3DSingleTextureNode.h:163
Field::FieldVector shader_fields
Shader fields which contain this texture.
Definition: H3DSingleTextureNode.h:177
virtual void setTextureHeight(int _height)
Set the texture height.
Definition: H3DSingleTextureNode.h:81
virtual void setTextureUnit(GLint unit)
Set the OpenGL texture unit that is used for this texture.
Definition: H3DSingleTextureNode.h:90
virtual GLuint getTextureId()
Get the OpenGL texture id that is used for this texture.
Definition: H3DSingleTextureNode.h:60
int texture_depth
texture depth
Definition: H3DSingleTextureNode.h:174
virtual GLuint getTextureUnit()
Get the OpenGL texture unit that is used for this texture.
Definition: H3DSingleTextureNode.h:63
GLuint texture_id
The OpenGL texture id of the installed texture, 0 if not installed.
Definition: H3DSingleTextureNode.h:159
virtual GLenum getTextureTarget()
Get the OpenGL texture target that is used for this texture.
Definition: H3DSingleTextureNode.h:66
virtual void setTextureWidth(int _width)
Set the texture width.
Definition: H3DSingleTextureNode.h:78
int texture_width
texture width
Definition: H3DSingleTextureNode.h:168
int texture_height
texture height
Definition: H3DSingleTextureNode.h:171
virtual void setTextureTarget(GLenum target)
Set the OpenGL texture target that is used for this texture.
Definition: H3DSingleTextureNode.h:93
GLenum texture_target
The OpenGL texture target that is used to render this texture.
Definition: H3DSingleTextureNode.h:165
virtual GLuint64 getTextureHandle()
Get the bindless texture handle, or 0 the texture has never been resident.
Definition: H3DSingleTextureNode.h:114
virtual int getTextureHeight()
Get the texture height.
Definition: H3DSingleTextureNode.h:72
static TextureVector resident_textures
List of all currently resident textures.
Definition: H3DSingleTextureNode.h:186
virtual bool isResident()
Returns true if the texture is resident in GPU memory or false otherwise.
Definition: H3DSingleTextureNode.h:107
bool is_resident
True if this texture is currently resident.
Definition: H3DSingleTextureNode.h:183
virtual void setTextureDepth(int _depth)
Set the texture depth.
Definition: H3DSingleTextureNode.h:84
GLuint64 texture_handle
The texture handle (GPU)
Definition: H3DSingleTextureNode.h:156
This abstract node type is the base type for all node types which specify sources for texture images.
Definition: X3DTextureNode.h:47
H3D API namespace.
Definition: Anchor.h:38