OpenSceneGraph/doc/doc++/osg/Texture.html
2001-12-24 21:56:22 +00:00

647 lines
33 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::Texture</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::Texture</A></H2></H2><BLOCKQUOTE>Texture state class which encapsulates OpenGl texture functionality</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=125>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CStateAttribute,MStateAttribute.html,CTexture,MTexture.html">
<param name=before value="M,M,M,M">
<param name=after value="Md_SPSP,Md_SP,Md_,M">
<param name=indent value="0,1,2,3">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.104.1">Texture</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.104.2">META_StateAttribute</A></B>(<!1><A HREF="Texture.html">Texture</A>, (<!1><A HREF="StateAttribute.html#DOC.2.96.5">Type</A>)(<!1><A HREF="StateAttribute.html#DOC.2.96.6.2">TEXTURE_0</A>+<!1><A HREF="Texture.html#DOC.2.104.44">_textureUnit</A>))
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual int <B><A HREF="#DOC.2.104.3">compare</A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
<DD><I>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.104.4">setStateSetModes</A></B>(<!1><A HREF="StateSet.html">StateSet</A>&amp; ds, const <!1><A HREF="StateAttribute.html#DOC.2.96.2">GLModeValue</A> value) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.104.5">setImage</A></B>(<!1><A HREF="Image.html">Image</A>* image)
<DD><I>Set the texture image.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Image.html">Image</A>* <B><A HREF="#DOC.2.104.6">getImage</A></B>()
<DD><I>Get the texture image.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Image.html">Image</A>* <B><A HREF="#DOC.2.104.7">getImage</A></B>() const
<DD><I>Get the const texture image.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.104.8">copyTexImage2D</A></B>(<!1><A HREF="State.html">State</A>&amp; state, int <!1><A HREF="Viewport.html#DOC.2.112.6">x</A>, int <!1><A HREF="Viewport.html#DOC.2.112.7">y</A>, int <!1><A HREF="Viewport.html#DOC.2.112.8">width</A>, int <!1><A HREF="Viewport.html#DOC.2.112.9">height</A> )
<DD><I>Copy pixels into a 2D texture imageAs per glCopyTexImage2D.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.104.9">copyTexSubImage2D</A></B>(<!1><A HREF="State.html">State</A>&amp; state, int xoffset, int yoffset, int <!1><A HREF="Viewport.html#DOC.2.112.6">x</A>, int <!1><A HREF="Viewport.html#DOC.2.112.7">y</A>, int <!1><A HREF="Viewport.html#DOC.2.112.8">width</A>, int <!1><A HREF="Viewport.html#DOC.2.112.9">height</A> )
<DD><I>Copy a two-dimensional texture subimage.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.104.10">setTextureUnit</A></B>(const unsigned int textureUnit)
<DD><I>Set the texture unit.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const unsigned int <B><A HREF="#DOC.2.104.11">getTextureUnit</A></B>() const
<DD><I>get the texture unit</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.104.14">setWrap</A></B>(const <!1><A HREF="Texture.html#DOC.2.104.12">WrapParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.104.13">WrapMode</A> wrap)
<DD><I>Set the texture wrap mode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Texture.html#DOC.2.104.13">WrapMode</A> <B><A HREF="#DOC.2.104.15">getWrap</A></B>(const <!1><A HREF="Texture.html#DOC.2.104.12">WrapParameter</A> which) const
<DD><I>Get the texture wrap mode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.104.18">setFilter</A></B>(const <!1><A HREF="Texture.html#DOC.2.104.16">FilterParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.104.17">FilterMode</A> filter)
<DD><I>Set the texture filter mode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Texture.html#DOC.2.104.17">FilterMode</A> <B><A HREF="#DOC.2.104.19">getFilter</A></B>(const <!1><A HREF="Texture.html#DOC.2.104.16">FilterParameter</A> which) const
<DD><I>Get the texture filter mode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.104.21">setInternalFormatMode</A></B>(const <!1><A HREF="Texture.html#DOC.2.104.20">InternalFormatMode</A> mode)
<DD><I>Set the internal format mode.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Texture.html#DOC.2.104.20">InternalFormatMode</A> <B><A HREF="#DOC.2.104.22">getInternalFormatMode</A></B>() const
<DD><I>Get the internal format mode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.104.23">setInternalFormatValue</A></B>(const int <!1><A HREF="Image.html#DOC.2.40.11">internalFormat</A>)
<DD><I>Set the internal format to use when creating OpenGL textures.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const int <B><A HREF="#DOC.2.104.24">getInternalFormatValue</A></B>() const
<DD><I>Get the internal format to use when creating OpenGL textures</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const uint <B><A HREF="#DOC.2.104.25">getTextureObject</A></B>(const uint contextID) const
<DD><I>return the OpenGL texture object for specified context</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const uint <B><A HREF="#DOC.2.104.26">getTextureObjectSize</A></B>() const
<DD><I>return the memory size of texture object.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.104.28">setSubloadMode</A></B>(const <!1><A HREF="Texture.html#DOC.2.104.27">SubloadMode</A> mode)
<DD><I>Set the texture subload mode.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Texture.html#DOC.2.104.27">SubloadMode</A> <B><A HREF="#DOC.2.104.29">getSubloadMode</A></B>() const
<DD><I>Get the texture subload mode.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.104.30">setSubloadOffset</A></B>(const int <!1><A HREF="Viewport.html#DOC.2.112.6">x</A>, const int <!1><A HREF="Viewport.html#DOC.2.112.7">y</A>)
<DD><I>Set the texture subload offsets.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.104.31">getSubloadOffset</A></B>(int&amp; <!1><A HREF="Viewport.html#DOC.2.112.6">x</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.112.7">y</A>) const
<DD><I>Get the texture subload offsets.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline GLuint&amp; <B><A HREF="#DOC.2.104.32">getHandle</A></B>(const uint contextID) const
<DD><I>Get the handle to the texture object for the current context</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.104.33">dirtyTextureObject</A></B>()
<DD><I>Force a recompile on next apply() of associated OpenGL texture objects</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.104.34">apply</A></B>(<!1><A HREF="State.html">State</A>&amp; state) const
<DD><I>On first apply (unless already compiled), create the minmapped texture and bind it, subsequent apply will simple bind to texture</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.104.35">compile</A></B>(<!1><A HREF="State.html">State</A>&amp; state) const
<DD><I>Compile the texture mip maps.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.104.36">applyImmediateMode</A></B>(<!1><A HREF="State.html">State</A>&amp; state) const
<DD><I>Method which does the creation of the texture itself, and does not set or use texture binding.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static void <B><A HREF="#DOC.2.104.37">deleteTextureObject</A></B>(uint contextID, GLuint handle)
<DD><I>use deleteTextureObject instead of glDeleteTextures to allow OpenGL texture objects to cached until they can be deleted by the OpenGL context in which they were created, specified by contextID</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static void <B><A HREF="#DOC.2.104.38">flushDeletedTextureObjects</A></B>(uint contextID)
<DD><I>flush all the cached display list which need to be deleted in the OpenGL context related to contextID</I>
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.104.12">WrapParameter</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.104.13">WrapMode</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.104.16">FilterParameter</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.104.17">FilterMode</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.104.20">InternalFormatMode</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.104.27">SubloadMode</A></B>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable uint <B><A HREF="#DOC.2.104.42">_textureObjectSize</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Image.html">Image</A>&gt; <B><A HREF="#DOC.2.104.43">_image</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.104.44">_textureUnit</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.104.13">WrapMode</A> <B><A HREF="#DOC.2.104.45">_wrap_s</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.104.13">WrapMode</A> <B><A HREF="#DOC.2.104.46">_wrap_t</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.104.13">WrapMode</A> <B><A HREF="#DOC.2.104.47">_wrap_r</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.104.17">FilterMode</A> <B><A HREF="#DOC.2.104.48">_min_filter</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.104.17">FilterMode</A> <B><A HREF="#DOC.2.104.49">_mag_filter</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.104.20">InternalFormatMode</A> <B><A HREF="#DOC.2.104.50">_internalFormatMode</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.104.51">_internalFormatValue</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable unsigned int <B><A HREF="#DOC.2.104.52">_textureWidth</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable unsigned int <B><A HREF="#DOC.2.104.53">_textureHeight</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.104.27">SubloadMode</A> <B><A HREF="#DOC.2.104.54">_subloadMode</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.104.55">_subloadOffsX</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.104.56">_subloadOffsY</A></B>
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.104.39">~Texture</A></B>()
</DL></P>
<P><DL>
<DT><H3>Protected Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector&lt;GLuint&gt; TextureNameList mutable TextureNameList <B><A HREF="#DOC.2.104.40">_handleList</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector&lt;uint&gt; ImageModifiedTag mutable ImageModifiedTag <B><A HREF="#DOC.2.104.41">_modifiedTag</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::map&lt;uint,std::set&lt;uint&gt; &gt;static DeletedTextureObjectCache DeletedTextureObjectCache <B><A HREF="#DOC.2.104.57">s_deletedTextureObjectCache</A></B>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="StateAttribute.html">StateAttribute</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">Object</A>* <B>clone</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>isSameKindAs</B>(const <!1><A HREF="Object.html">Object</A>* obj) const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>className</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const <!1><A HREF="StateAttribute.html#DOC.2.96.5">Type</A> <B>getType</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator < </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator == </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>operator != </B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>typedef GLenum <B>GLMode</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef unsigned int <B>GLModeValue</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef unsigned int <B>OverrideValue</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>Values</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef unsigned int <B>Type</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>Types</B>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Referenced.html">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>ref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const int <B>referenceCount</B>() const
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Texture state class which encapsulates OpenGl texture functionality</BLOCKQUOTE>
<DL>
<A NAME="Texture"></A>
<A NAME="DOC.2.104.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Texture()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="META_StateAttribute"></A>
<A NAME="DOC.2.104.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_StateAttribute(<!1><A HREF="Texture.html">Texture</A>, (<!1><A HREF="StateAttribute.html#DOC.2.96.5">Type</A>)(<!1><A HREF="StateAttribute.html#DOC.2.96.6.2">TEXTURE_0</A>+<!1><A HREF="Texture.html#DOC.2.104.44">_textureUnit</A>))</B></TT>
<DL><DT><DD></DL><P>
<A NAME="compare"></A>
<A NAME="DOC.2.104.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual int compare(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const </B></TT>
<DD>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
<DL><DT><DD></DL><P>
<A NAME="setStateSetModes"></A>
<A NAME="DOC.2.104.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void setStateSetModes(<!1><A HREF="StateSet.html">StateSet</A>&amp; ds, const <!1><A HREF="StateAttribute.html#DOC.2.96.2">GLModeValue</A> value) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setImage"></A>
<A NAME="DOC.2.104.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setImage(<!1><A HREF="Image.html">Image</A>* image)</B></TT>
<DD>Set the texture image.
<DL><DT><DD></DL><P>
<A NAME="getImage"></A>
<A NAME="DOC.2.104.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Image.html">Image</A>* getImage()</B></TT>
<DD>Get the texture image.
<DL><DT><DD></DL><P>
<A NAME="getImage"></A>
<A NAME="DOC.2.104.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Image.html">Image</A>* getImage() const </B></TT>
<DD>Get the const texture image.
<DL><DT><DD></DL><P>
<A NAME="copyTexImage2D"></A>
<A NAME="DOC.2.104.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void copyTexImage2D(<!1><A HREF="State.html">State</A>&amp; state, int <!1><A HREF="Viewport.html#DOC.2.112.6">x</A>, int <!1><A HREF="Viewport.html#DOC.2.112.7">y</A>, int <!1><A HREF="Viewport.html#DOC.2.112.8">width</A>, int <!1><A HREF="Viewport.html#DOC.2.112.9">height</A> )</B></TT>
<DD>Copy pixels into a 2D texture imageAs per glCopyTexImage2D.
Creates an OpenGL texture object from the current OpenGL background
framebuffer contents at pos \a x, \a y with width \a width and
height \a height. \a width and \a height must be a power of two.
<DL><DT><DD></DL><P>
<A NAME="copyTexSubImage2D"></A>
<A NAME="DOC.2.104.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void copyTexSubImage2D(<!1><A HREF="State.html">State</A>&amp; state, int xoffset, int yoffset, int <!1><A HREF="Viewport.html#DOC.2.112.6">x</A>, int <!1><A HREF="Viewport.html#DOC.2.112.7">y</A>, int <!1><A HREF="Viewport.html#DOC.2.112.8">width</A>, int <!1><A HREF="Viewport.html#DOC.2.112.9">height</A> )</B></TT>
<DD>Copy a two-dimensional texture subimage. As per glCopyTexSubImage2D.
Updates portion of an existing OpenGL texture object from the current OpenGL background
framebuffer contents at pos \a x, \a y with width \a width and
height \a height. \a width and \a height must be a power of two,
and writing into the texture with offset \a xoffset and \a yoffset.
<DL><DT><DD></DL><P>
<A NAME="setTextureUnit"></A>
<A NAME="DOC.2.104.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setTextureUnit(const unsigned int textureUnit)</B></TT>
<DD>Set the texture unit.
Valid values are 0,1,2,3.
Default value of texture unit is 0.
note, multi-texturing not fully implemented yet... April 2001.
<DL><DT><DD></DL><P>
<A NAME="getTextureUnit"></A>
<A NAME="DOC.2.104.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const unsigned int getTextureUnit() const </B></TT>
<DD>get the texture unit
<DL><DT><DD></DL><P>
<A NAME="WrapParameter"></A>
<A NAME="DOC.2.104.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum WrapParameter</B></TT>
<DL><DT><DD></DL><P><DL>
<A NAME="WRAP_S"></A>
<A NAME="DOC.2.104.12.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WRAP_S</B></TT>
<DL><DT><DD></DL><P>
<A NAME="WRAP_T"></A>
<A NAME="DOC.2.104.12.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WRAP_T</B></TT>
<DL><DT><DD></DL><P>
<A NAME="WRAP_R"></A>
<A NAME="DOC.2.104.12.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WRAP_R</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="WrapMode"></A>
<A NAME="DOC.2.104.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum WrapMode</B></TT>
<DL><DT><DD></DL><P><DL>
<A NAME="CLAMP"></A>
<A NAME="DOC.2.104.13.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLAMP</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLAMP_TO_EDGE"></A>
<A NAME="DOC.2.104.13.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLAMP_TO_EDGE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="REPEAT"></A>
<A NAME="DOC.2.104.13.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> REPEAT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MIRROR"></A>
<A NAME="DOC.2.104.13.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MIRROR</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="setWrap"></A>
<A NAME="DOC.2.104.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setWrap(const <!1><A HREF="Texture.html#DOC.2.104.12">WrapParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.104.13">WrapMode</A> wrap)</B></TT>
<DD>Set the texture wrap mode
<DL><DT><DD></DL><P>
<A NAME="getWrap"></A>
<A NAME="DOC.2.104.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Texture.html#DOC.2.104.13">WrapMode</A> getWrap(const <!1><A HREF="Texture.html#DOC.2.104.12">WrapParameter</A> which) const </B></TT>
<DD>Get the texture wrap mode
<DL><DT><DD></DL><P>
<A NAME="FilterParameter"></A>
<A NAME="DOC.2.104.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum FilterParameter</B></TT>
<DL><DT><DD></DL><P><DL>
<A NAME="MIN_FILTER"></A>
<A NAME="DOC.2.104.16.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MIN_FILTER</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MAG_FILTER"></A>
<A NAME="DOC.2.104.16.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MAG_FILTER</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="FilterMode"></A>
<A NAME="DOC.2.104.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum FilterMode</B></TT>
<DL><DT><DD></DL><P><DL>
<A NAME="LINEAR"></A>
<A NAME="DOC.2.104.17.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEAR</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LINEAR_MIPMAP_LINEAR"></A>
<A NAME="DOC.2.104.17.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEAR_MIPMAP_LINEAR</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LINEAR_MIPMAP_NEAREST"></A>
<A NAME="DOC.2.104.17.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEAR_MIPMAP_NEAREST</B></TT>
<DL><DT><DD></DL><P>
<A NAME="NEAREST"></A>
<A NAME="DOC.2.104.17.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NEAREST</B></TT>
<DL><DT><DD></DL><P>
<A NAME="NEAREST_MIPMAP_LINEAR"></A>
<A NAME="DOC.2.104.17.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NEAREST_MIPMAP_LINEAR</B></TT>
<DL><DT><DD></DL><P>
<A NAME="NEAREST_MIPMAP_NEAREST"></A>
<A NAME="DOC.2.104.17.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NEAREST_MIPMAP_NEAREST</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ANISOTROPIC"></A>
<A NAME="DOC.2.104.17.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ANISOTROPIC</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="setFilter"></A>
<A NAME="DOC.2.104.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFilter(const <!1><A HREF="Texture.html#DOC.2.104.16">FilterParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.104.17">FilterMode</A> filter)</B></TT>
<DD>Set the texture filter mode
<DL><DT><DD></DL><P>
<A NAME="getFilter"></A>
<A NAME="DOC.2.104.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Texture.html#DOC.2.104.17">FilterMode</A> getFilter(const <!1><A HREF="Texture.html#DOC.2.104.16">FilterParameter</A> which) const </B></TT>
<DD>Get the texture filter mode
<DL><DT><DD></DL><P>
<A NAME="InternalFormatMode"></A>
<A NAME="DOC.2.104.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum InternalFormatMode</B></TT>
<DL><DT><DD></DL><P><DL>
<A NAME="USE_IMAGE_DATA_FORMAT"></A>
<A NAME="DOC.2.104.20.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_IMAGE_DATA_FORMAT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="USE_USER_DEFINED_FORMAT"></A>
<A NAME="DOC.2.104.20.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_USER_DEFINED_FORMAT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="USE_ARB_COMPRESSION"></A>
<A NAME="DOC.2.104.20.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_ARB_COMPRESSION</B></TT>
<DL><DT><DD></DL><P>
<A NAME="USE_S3TC_DXT1_COMPRESSION"></A>
<A NAME="DOC.2.104.20.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_S3TC_DXT1_COMPRESSION</B></TT>
<DL><DT><DD></DL><P>
<A NAME="USE_S3TC_DXT3_COMPRESSION"></A>
<A NAME="DOC.2.104.20.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_S3TC_DXT3_COMPRESSION</B></TT>
<DL><DT><DD></DL><P>
<A NAME="USE_S3TC_DXT5_COMPRESSION"></A>
<A NAME="DOC.2.104.20.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_S3TC_DXT5_COMPRESSION</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="setInternalFormatMode"></A>
<A NAME="DOC.2.104.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setInternalFormatMode(const <!1><A HREF="Texture.html#DOC.2.104.20">InternalFormatMode</A> mode)</B></TT>
<DD>Set the internal format mode.
Note, If the mode is set USE_IMAGE_DATA_FORMAT, USE_ARB_COMPRESSION,
USE_S3TC_COMPRESSION the internalFormat is automatically selected,
and will overwrite the previous _internalFormatValue.
<DL><DT><DD></DL><P>
<A NAME="getInternalFormatMode"></A>
<A NAME="DOC.2.104.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Texture.html#DOC.2.104.20">InternalFormatMode</A> getInternalFormatMode() const </B></TT>
<DD>Get the internal format mode
<DL><DT><DD></DL><P>
<A NAME="setInternalFormatValue"></A>
<A NAME="DOC.2.104.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setInternalFormatValue(const int <!1><A HREF="Image.html#DOC.2.40.11">internalFormat</A>)</B></TT>
<DD>Set the internal format to use when creating OpenGL textures.
Also sets the internalFormatMode to USE_USER_DEFINED_FORMAT.
<DL><DT><DD></DL><P>
<A NAME="getInternalFormatValue"></A>
<A NAME="DOC.2.104.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const int getInternalFormatValue() const </B></TT>
<DD>Get the internal format to use when creating OpenGL textures
<DL><DT><DD></DL><P>
<A NAME="getTextureObject"></A>
<A NAME="DOC.2.104.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const uint getTextureObject(const uint contextID) const </B></TT>
<DD>return the OpenGL texture object for specified context
<DL><DT><DD></DL><P>
<A NAME="getTextureObjectSize"></A>
<A NAME="DOC.2.104.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const uint getTextureObjectSize() const </B></TT>
<DD>return the memory size of texture object.
Texture object size can be used for estimating the cost of
uploading the texture to graphics hardware, which in turn can
be used for setting texture residence priorities.
<DL><DT><DD></DL><P>
<A NAME="SubloadMode"></A>
<A NAME="DOC.2.104.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum SubloadMode</B></TT>
<DL><DT><DD></DL><P><DL>
<A NAME="OFF"></A>
<A NAME="DOC.2.104.27.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OFF</B></TT>
<DL><DT><DD></DL><P>
<A NAME="AUTO"></A>
<A NAME="DOC.2.104.27.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> AUTO</B></TT>
<DL><DT><DD></DL><P>
<A NAME="IF_DIRTY"></A>
<A NAME="DOC.2.104.27.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IF_DIRTY</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="setSubloadMode"></A>
<A NAME="DOC.2.104.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setSubloadMode(const <!1><A HREF="Texture.html#DOC.2.104.27">SubloadMode</A> mode)</B></TT>
<DD>Set the texture subload mode.
<DL><DT><DD></DL><P>
<A NAME="getSubloadMode"></A>
<A NAME="DOC.2.104.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Texture.html#DOC.2.104.27">SubloadMode</A> getSubloadMode() const </B></TT>
<DD>Get the texture subload mode.
<DL><DT><DD></DL><P>
<A NAME="setSubloadOffset"></A>
<A NAME="DOC.2.104.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setSubloadOffset(const int <!1><A HREF="Viewport.html#DOC.2.112.6">x</A>, const int <!1><A HREF="Viewport.html#DOC.2.112.7">y</A>)</B></TT>
<DD>Set the texture subload offsets.
<DL><DT><DD></DL><P>
<A NAME="getSubloadOffset"></A>
<A NAME="DOC.2.104.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void getSubloadOffset(int&amp; <!1><A HREF="Viewport.html#DOC.2.112.6">x</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.112.7">y</A>) const </B></TT>
<DD>Get the texture subload offsets.
<DL><DT><DD></DL><P>
<A NAME="getHandle"></A>
<A NAME="DOC.2.104.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline GLuint&amp; getHandle(const uint contextID) const </B></TT>
<DD>Get the handle to the texture object for the current context
<DL><DT><DD></DL><P>
<A NAME="dirtyTextureObject"></A>
<A NAME="DOC.2.104.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void dirtyTextureObject()</B></TT>
<DD>Force a recompile on next apply() of associated OpenGL texture objects
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
<A NAME="DOC.2.104.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void apply(<!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DD>On first apply (unless already compiled), create the minmapped
texture and bind it, subsequent apply will simple bind to texture
<DL><DT><DD></DL><P>
<A NAME="compile"></A>
<A NAME="DOC.2.104.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void compile(<!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DD>Compile the texture mip maps. Implemented by simply calling apply().
<DL><DT><DD></DL><P>
<A NAME="applyImmediateMode"></A>
<A NAME="DOC.2.104.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void applyImmediateMode(<!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DD>Method which does the creation of the texture itself, and
does not set or use texture binding.
<DL><DT><DD></DL><P>
<A NAME="deleteTextureObject"></A>
<A NAME="DOC.2.104.37"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static void deleteTextureObject(uint contextID, GLuint handle)</B></TT>
<DD>use deleteTextureObject instead of glDeleteTextures to allow
OpenGL texture objects to cached until they can be deleted
by the OpenGL context in which they were created, specified
by contextID
<DL><DT><DD></DL><P>
<A NAME="flushDeletedTextureObjects"></A>
<A NAME="DOC.2.104.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static void flushDeletedTextureObjects(uint contextID)</B></TT>
<DD>flush all the cached display list which need to be deleted
in the OpenGL context related to contextID
<DL><DT><DD></DL><P>
<A NAME="~Texture"></A>
<A NAME="DOC.2.104.39"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~Texture()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_handleList"></A>
<A NAME="DOC.2.104.40"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::vector&lt;GLuint&gt; TextureNameList mutable TextureNameList _handleList</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_modifiedTag"></A>
<A NAME="DOC.2.104.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::vector&lt;uint&gt; ImageModifiedTag mutable ImageModifiedTag _modifiedTag</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_textureObjectSize"></A>
<A NAME="DOC.2.104.42"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable uint _textureObjectSize</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_image"></A>
<A NAME="DOC.2.104.43"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Image.html">Image</A>&gt; _image</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_textureUnit"></A>
<A NAME="DOC.2.104.44"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _textureUnit</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_wrap_s"></A>
<A NAME="DOC.2.104.45"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.104.13">WrapMode</A> _wrap_s</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_wrap_t"></A>
<A NAME="DOC.2.104.46"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.104.13">WrapMode</A> _wrap_t</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_wrap_r"></A>
<A NAME="DOC.2.104.47"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.104.13">WrapMode</A> _wrap_r</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_min_filter"></A>
<A NAME="DOC.2.104.48"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.104.17">FilterMode</A> _min_filter</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_mag_filter"></A>
<A NAME="DOC.2.104.49"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.104.17">FilterMode</A> _mag_filter</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_internalFormatMode"></A>
<A NAME="DOC.2.104.50"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.104.20">InternalFormatMode</A> _internalFormatMode</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_internalFormatValue"></A>
<A NAME="DOC.2.104.51"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _internalFormatValue</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_textureWidth"></A>
<A NAME="DOC.2.104.52"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable unsigned int _textureWidth</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_textureHeight"></A>
<A NAME="DOC.2.104.53"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable unsigned int _textureHeight</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadMode"></A>
<A NAME="DOC.2.104.54"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.104.27">SubloadMode</A> _subloadMode</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadOffsX"></A>
<A NAME="DOC.2.104.55"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _subloadOffsX</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadOffsY"></A>
<A NAME="DOC.2.104.56"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _subloadOffsY</B></TT>
<DL><DT><DD></DL><P>
<A NAME="s_deletedTextureObjectCache"></A>
<A NAME="DOC.2.104.57"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::map&lt;uint,std::set&lt;uint&gt; &gt;static DeletedTextureObjectCache DeletedTextureObjectCache s_deletedTextureObjectCache</B></TT>
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>