40#include <Inventor/renderer/RendererResourceMacro.h>
50 class SoExtTexture2Impl;
51 class SoIndexedTexture2Impl;
52 class SoRenderToTexturePropertyImpl;
55 class RendererContext;
61 template<
typename T>
struct Resource;
62 class FixedPipelineShader;
68#define GL_COMBINE 0x8570
70#ifndef GL_CLAMP_TO_BORDER
71#define GL_CLAMP_TO_BORDER 0x812D
73#ifndef GL_CLAMP_TO_EDGE
74#define GL_CLAMP_TO_EDGE 0x812F
76#ifndef GL_MIRRORED_REPEAT
77#define GL_MIRRORED_REPEAT 0x8370
353#ifndef HIDDEN_FROM_DOC
363 MODULATE = SbEnums::TEX_MODEL_MODULATE,
374 DECAL = SbEnums::TEX_MODEL_DECAL,
379 BLEND = SbEnums::TEX_MODEL_BLEND,
386 REPLACE = SbEnums::TEX_MODEL_REPLACE,
393 ADD = SbEnums::TEX_MODEL_ADD,
402 COMBINE = SbEnums::TEX_MODEL_COMBINE
411 REPEAT = SbEnums::TEX_ADDRESS_REPEAT,
418 CLAMP = SbEnums::TEX_ADDRESS_CLAMP,
426 CLAMP_TO_BORDER = SbEnums::TEX_ADDRESS_CLAMP_BORDER,
434 CLAMP_TO_EDGE = SbEnums::TEX_ADDRESS_CLAMP_TO_EDGE,
442 MIRRORED_REPEAT = SbEnums::TEX_ADDRESS_MIRROR_REPEAT
454 AUTO = SbEnums::TEX_FILTER_AUTO,
456 NEAREST = SbEnums::TEX_FILTER_NEAREST,
458 LINEAR = SbEnums::TEX_FILTER_LINEAR,
460 NEAREST_MIPMAP_NEAREST = SbEnums::TEX_FILTER_NEAREST_MIPMAP_NEAREST,
462 NEAREST_MIPMAP_LINEAR = SbEnums::TEX_FILTER_NEAREST_MIPMAP_LINEAR,
464 LINEAR_MIPMAP_NEAREST = SbEnums::TEX_FILTER_LINEAR_MIPMAP_NEAREST,
466 LINEAR_MIPMAP_LINEAR = SbEnums::TEX_FILTER_LINEAR_MIPMAP_LINEAR
523#ifndef HIDDEN_FROM_DOC
705 {
override.setValue(state); }
711 {
return override.getValue(); }
726 virtual void doAction(
SoAction *action)=0;
731 static void initClass();
732 static void exitClass();
738 virtual bool affectsPath()
const;
749 enum SubImageCopyPolicy
753 SUBIMAGE_NO_COPY_AND_DELETE,
757 void subImage(
const std::vector<SoTextureImageElementBase::TextureDataConfiguration>& subTextures,
758 SubImageCopyPolicy copyPolicy = SUBIMAGE_COPY);
773 void commonConstructor();
775 friend class inventor::impl::SoExtTexture2Impl;
776 friend class inventor::impl::SoIndexedTexture2Impl;
777 friend class inventor::impl::SoRenderToTexturePropertyImpl;
778 friend struct inventor::renderer::Resource<
SoTexture>;
779 friend class inventor::renderer::FixedPipelineShader;
780 friend class inventor::renderer::RendererContext;
SO_PIMPL_BASE_PUBLIC_DECLARATION(SoImageDataAdapter)
#define SO_NODE_ABSTRACT_HEADER(className)
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Class encapsulat...
Class for smart character strings.
Abstract base class for all actions.
Performs a generic traversal of a scene graph or path.
Sensor class that can be attached to Open Inventor fields.
Renders a scene graph using Open Inventor's Render Engine.
Abstract base class for all database nodes.
Sensor class that can be attached to Open Inventor nodes.
Field containing a single Boolean value.
Field containing an RGB color.
Field containing an enumerated value.
Field containing a floating-point value.
Field containing a homogeneous three-dimensional vector.
Abstract base class for texture mapping nodes.
SoSFBool enableBorder
Enables borders for textures.
SoSFVec4f borderColor
Defines border color used for border texture filtering.
FileType
File Type possible values.
FileType getBitmapFileType(void)
Gets the texture file format.
virtual void setOverride(const SbBool state)
Set the state of the override field.
SoSFEnum minFilter
Specifies the OpenGL minFilter.
static SbBool isSupported(HW_Feature feature)
Returns information about hardware support for various texture features.
Model
Texture Combiner Functions.
virtual SbBool isOverride() const
Returns the state of the override field.
SoSFEnum wrapS
Indicates what to do when texture coordinates in the S (horizontal) direction lie outside the range 0...
void setBitmapFileType(FileType in_type)
Sets the texture file format.
SoSFEnum magFilter
Specifies the OpenGL magFilter.
@ HW_MIRRORED_REPEAT
Check support for texture coordinates mirrored repeat.
@ HW_FLOATFORMAT
Check support for floating point texture format.
@ HW_COMPRESSION_LATC
Check support for texture_compression_latc.
@ HW_AUTOMIPMAP
Check support for automatic mipmap generation.
@ HW_COMPRESSION_RGTC
Check support for texture_compression_rgtc.
@ HW_DEPTHFORMAT
Check support for depth textures.
@ HW_EDGE_CLAMP
Check support for texture coordinates edge clamp.
@ HW_COMPRESSION_S3TC
Check support for DDS support (S3TC)
@ HW_BORDER_CLAMP
Check support for texture coordinates border clamp.
SoSFFloat maxAnisotropy
Specifies on a per-texture object basis, the maximum degree of anisotropy to account for in texture f...
Filter
Specifies the OpenGL filtering method for minification and magnification.
InternalFormat
Texture internal storage format.
@ COMPRESSED_LUMINANCE_LATC1
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 7....
@ ALPHA_FORMAT
ALPHA_FORMAT.
@ DEPTH_COMPONENT24
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 9....
@ LUMINANCE12_ALPHA4
LUMINANCE12_ALPHA4.
@ COMPRESSED_RGB
COMPRESSED_RGB.
@ INTENSITY12
INTENSITY12.
@ LUMINANCE6_ALPHA2
LUMINANCE6_ALPHA2.
@ COMPRESSED_SIGNED_LUMINANCE_LATC1
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 7....
@ COMPRESSED_LUMINANCE_ALPHA_LATC2
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 7....
@ RGBA_FORMAT
RGBA_FORMAT.
@ RGBA_FLOAT32
RGBA_FLOAT32.
@ LUMINANCE_FORMAT
LUMINANCE_FORMAT.
@ COMPRESSED_ALPHA
COMPRESSED_ALPHA.
@ LUMINANCE_ALPHA_FLOAT32
LUMINANCE_ALPHA_FLOAT32.
@ COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 7....
@ INTENSITY_FLOAT32
INTENSITY_FLOAT32.
@ LUMINANCE_ALPHA_FLOAT16
LUMINANCE_ALPHA_FLOAT16.
@ AUTO_INTERNAL_FORMAT
Default.
@ ALPHA_FLOAT16
ALPHA_FLOAT16.
@ RGB5_ALPHA1
RGB5_ALPHA1.
@ DEPTH24_STENCIL8
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 9....
@ LUMINANCE4_ALPHA4
LUMINANCE4_ALPHA4.
@ LUMINANCE12
LUMINANCE12.
@ COMPRESSED_INTENSITY
COMPRESSED_INTENSITY.
@ LUMINANCE8_ALPHA8
LUMINANCE8_ALPHA8.
@ RGB10_ALPHA2
RGB10_ALPHA2.
@ COMPRESSED_SIGNED_RED_RGTC1
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 7....
@ COMPRESSED_LUMINANCE
COMPRESSED_LUMINANCE.
@ RGB_FLOAT32
RGB_FLOAT32.
@ LUMINANCE12_ALPHA12
LUMINANCE12_ALPHA12.
@ LUMINANCE_ALPHA
LUMINANCE_ALPHA.
@ INTENSITY16
INTENSITY16.
@ LUMINANCE16
LUMINANCE16.
@ R8I
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 10....
@ RGBA_FLOAT16
RGBA_FLOAT16.
@ COMPRESSED_SIGNED_RED_GREEN_RGTC2
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 7....
@ RGB_FLOAT16
RGB_FLOAT16.
@ DEPTH_COMPONENT16
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 9....
@ COMPRESSED_RGBA
COMPRESSED_RGBA.
@ COMPRESSED_LUMINANCE_ALPHA
COMPRESSED_LUMINANCE_ALPHA.
@ INTENSITY_FORMAT
INTENSITY_FORMAT.
@ COMPRESSED_RED_GREEN_RGTC2
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 7....
@ LUMINANCE16_ALPHA16
LUMINANCE16_ALPHA16.
@ LUMINANCE_FLOAT16
LUMINANCE_FLOAT16.
@ LUMINANCE_FLOAT32
LUMINANCE_FLOAT32.
@ COMPRESSED_RED_RGTC1
<a href= EnumSince.html ><b>NOTE</b>: enumeration value available since Open Inventor</a> 7....
@ ALPHA_FLOAT32
ALPHA_FLOAT32.
@ INTENSITY_FLOAT16
INTENSITY_FLOAT16.
SoSFEnum internalFormat
Internal format for texture storage.
SoSFEnum model
Specifies how to map texture onto surface.
static SbRasterImage * readTexture(const SbString &filename, FileType filetype=UNKNOWN)
Convenience function that loads the image data from any texture file supported by Open Inventor and r...
SoSFColor blendColor
Color used for BLEND model.
SoSFBool enableCompressedTexture
Enables storage of textures on the graphics board in compressed form.