88 TEXTURE2D = GL_TEXTURE_2D,
90 TEXTURECUBEMAP = GL_TEXTURE_CUBE_MAP
96 virtual void print(FILE *fp)
const;
105 virtual void commonInit();
108 virtual void init(
SoState *state);
112 static void initClass();
113 static void exitClass();
117 struct TextureDataConfiguration
132 uint32_t imageHeight;
150 TextureDataConfiguration()
170 size_t subImageSize()
const;
175 RENDERER_RESOURCE(SamplerConfiguration);
180 uint32_t sAddressMode;
181 uint32_t tAddressMode;
182 uint32_t rAddressMode;
188 uint8_t mipmapFilter;
191 static uint8_t getAutoMagFilter(
float quality);
192 static void getAutoMinFilter(uint8_t& minFilter, uint8_t& mipmapFilter,
float quality);
194 bool isUsingMipmaps()
const;
195 bool operator== (
const SamplerConfiguration& sc)
const;
196 bool operator!=(
const SamplerConfiguration& sc )
const
198 return !operator==( sc );
201 SamplerConfiguration();
202 ~SamplerConfiguration() { destroyRendererResource(); }
205 SamplerConfiguration(
const SamplerConfiguration& )
211 struct SoTexImageData
220 SoGLTexture* gltexture;
223 const void* buffer[MAX_TEXTURE_NBR];
230 GLint GLInternalFormat;
232 bool renderToTexturePropertyFirstPass;
237 int numCompressedMipmaps;
249 std::vector<SubTexture> subtextures;
265 SoTexImageData& getTexImageData(
const int unit)
const;
271 void getElt(
SoState *state,
int &_minFilter,
int &_magFilter,
float &_maxAnisotropy,
int unit)
const;
275 GLint &_GLInternalFormat,
int &_wrapS,
int &_wrapT,
276 int &_model,
SbColor &_blendColor,
int unit,
int currentTexture = -1)
const;
278 virtual void setElt(
const SbVec2i32 &s,
int nc,
281 int wrapS,
int wrapT,
int wrapR,
int model,
282 const SbColor &blendColor,
float _maxAnisotropy,
284 SbBool isCompressed,
int numCompressedMipmaps,
285 int hasTransparency = -1 ,
286 int unit=0,
int currentTexture=-1);
288 virtual void setElt(
SoState *state,
SoNode *node,
const SoTexImageData& config);
290 virtual void setSubElt(
const SbVec2i32 &subSize,
291 int xoffset,
int yoffset,
292 const void *buffer,
int texname,
295 virtual void setFilterElt(
int _minFilter,
int _magFilter,
int currUnit);
302 typedef std::vector<SoTexImageData> SoTexImageDataList;
303 mutable SoTexImageDataList m_texImageDataList;
305 friend class SoVRMLAppearance;
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Class for creati...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
Abstract base class for texture mapping nodes.
Stores the current texture image.
virtual void push(SoState *state)
Overrides push() method to copy values from next instance in the stack.
virtual void print(FILE *fp) const
Print info about image for debugging.