28#include <Inventor/fields/SoSFVec4f.h>
29#include <Inventor/fields/SoSFEnum.h>
30#include <Inventor/fields/SoSFImage.h>
31#include <Inventor/fields/SoSFString.h>
32#include <Inventor/fields/SoSFBool.h>
33#include <Inventor/fields/SoSFFloat.h>
34#include <Inventor/fields/SoSFColor.h>
35#include <Inventor/fields/SoSFInt32.h>
36#include <Inventor/nodes/SoNode.h>
37#include <Inventor/sys/SoGLType.h>
38#include <Inventor/elements/SoTextureImageElement.h>
39#include <SoDeprecationRules.h>
40#include <Inventor/SbEnums.h>
41#include <Inventor/renderer/RendererResourceMacro.h>
51 class SoExtTexture2Impl;
52 class SoIndexedTexture2Impl;
53 class SoRenderToTexturePropertyImpl;
56 class RendererContext;
62 template<
typename T>
struct Resource;
63 class FixedPipelineShader;
69#define GL_COMBINE 0x8570
71#ifndef GL_CLAMP_TO_BORDER
72#define GL_CLAMP_TO_BORDER 0x812D
74#ifndef GL_CLAMP_TO_EDGE
75#define GL_CLAMP_TO_EDGE 0x812F
77#ifndef GL_MIRRORED_REPEAT
78#define GL_MIRRORED_REPEAT 0x8370
81SO_PIMPL_BASE_PUBLIC_DECLARATION(
SoTexture)
354#ifndef HIDDEN_FROM_DOC
364 MODULATE = SbEnums::TEX_MODEL_MODULATE,
375 DECAL = SbEnums::TEX_MODEL_DECAL,
380 BLEND = SbEnums::TEX_MODEL_BLEND,
387 REPLACE = SbEnums::TEX_MODEL_REPLACE,
394 ADD = SbEnums::TEX_MODEL_ADD,
403 COMBINE = SbEnums::TEX_MODEL_COMBINE
412 REPEAT = SbEnums::TEX_ADDRESS_REPEAT,
419 CLAMP = SbEnums::TEX_ADDRESS_CLAMP,
427 CLAMP_TO_BORDER = SbEnums::TEX_ADDRESS_CLAMP_BORDER,
435 CLAMP_TO_EDGE = SbEnums::TEX_ADDRESS_CLAMP_TO_EDGE,
443 MIRRORED_REPEAT = SbEnums::TEX_ADDRESS_MIRROR_REPEAT
455 AUTO = SbEnums::TEX_FILTER_AUTO,
457 NEAREST = SbEnums::TEX_FILTER_NEAREST,
459 LINEAR = SbEnums::TEX_FILTER_LINEAR,
461 NEAREST_MIPMAP_NEAREST = SbEnums::TEX_FILTER_NEAREST_MIPMAP_NEAREST,
463 NEAREST_MIPMAP_LINEAR = SbEnums::TEX_FILTER_NEAREST_MIPMAP_LINEAR,
465 LINEAR_MIPMAP_NEAREST = SbEnums::TEX_FILTER_LINEAR_MIPMAP_NEAREST,
467 LINEAR_MIPMAP_LINEAR = SbEnums::TEX_FILTER_LINEAR_MIPMAP_LINEAR
524#ifndef HIDDEN_FROM_DOC
700 {
override.setValue(state); }
706 {
return override.getValue(); }
721 virtual void doAction(
SoAction *action)=0;
726 static void initClass();
727 static void exitClass();
733 virtual bool affectsPath()
const;
745 enum NumSamplesSpecialValues
748 INHERIT_FROM_CURRENT_TARGET = -2,
775 static int getNumSamples(
SoState* state);
778 void updateFromState(
SoState* state);
780 enum SubImageCopyPolicy
784 SUBIMAGE_NO_COPY_AND_DELETE,
788 void subImage(
const std::vector<SoTextureImageElementBase::TextureDataConfiguration>& subTextures,
789 SubImageCopyPolicy copyPolicy = SUBIMAGE_COPY);
804 void commonConstructor();
806 friend class inventor::impl::SoExtTexture2Impl;
807 friend class inventor::impl::SoIndexedTexture2Impl;
808 friend class inventor::impl::SoRenderToTexturePropertyImpl;
809 friend struct inventor::renderer::Resource<
SoTexture>;
810 friend class inventor::renderer::FixedPipelineShader;
811 friend class inventor::renderer::RendererContext;
<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 int32_t integer.
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.