OpenSceneGraph/doc/doc++/osg/Texture.html

758 lines
39 KiB
HTML
Raw Normal View History

2001-09-20 05:19:47 +08:00
<!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=155>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CStateAttribute,MStateAttribute.html,CTexture,MTexture.html,CTextureCubeMap,MTextureCubeMap.html">
<param name=before value="M,M,M,M,M^_">
<param name=after value="Md_SPSP,Md_SP,Md_,M,M">
<param name=indent value="0,1,2,3,3">
2001-09-20 05:19:47 +08:00
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.102.1">Texture</A></B>()
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.102.2">Texture</A></B>(const <!1><A HREF="Texture.html#DOC.2.102.2">Texture</A>&amp; text, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)
2002-02-09 18:54:18 +08:00
<DD><I>Copy constructor using CopyOp to manage deep vs shallow copy</I>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.102.3">META_StateAttribute</A></B>(<!1><A HREF="Texture.html">Texture</A>, (<!1><A HREF="StateAttribute.html#DOC.2.92.5">Type</A>)(<!1><A HREF="StateAttribute.html#DOC.2.92.6.2">TEXTURE_0</A>+<!1><A HREF="Texture.html#DOC.2.102.52">_textureUnit</A>))
2002-02-09 18:54:18 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual int <B><A HREF="#DOC.2.102.4">compare</A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const
2001-09-22 10:42:08 +08:00
<DD><I>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs</I>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.102.5">setStateSetModes</A></B>(<!1><A HREF="StateSet.html">StateSet</A>&amp; ds, const <!1><A HREF="StateAttribute.html#DOC.2.92.2">GLModeValue</A> value) const
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.102.6">setImage</A></B>(<!1><A HREF="Image.html">Image</A>* image)
2001-09-20 05:19:47 +08:00
<DD><I>Set the texture image.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Image.html">Image</A>* <B><A HREF="#DOC.2.102.7">getImage</A></B>()
2001-09-20 05:19:47 +08:00
<DD><I>Get the texture image.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Image.html">Image</A>* <B><A HREF="#DOC.2.102.8">getImage</A></B>() const
2001-09-20 05:19:47 +08:00
<DD><I>Get the const texture image.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.102.9">copyTexImage2D</A></B>(<!1><A HREF="State.html">State</A>&amp; state, int <!1><A HREF="Viewport.html#DOC.2.111.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.111.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.111.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.111.10">height</A> )
2001-09-20 05:19:47 +08:00
<DD><I>Copy pixels into a 2D texture imageAs per glCopyTexImage2D.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.102.10">copyTexSubImage2D</A></B>(<!1><A HREF="State.html">State</A>&amp; state, int xoffset, int yoffset, int <!1><A HREF="Viewport.html#DOC.2.111.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.111.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.111.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.111.10">height</A> )
2001-09-20 05:19:47 +08:00
<DD><I>Copy a two-dimensional texture subimage.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.102.11">setTextureUnit</A></B>(const unsigned int textureUnit)
2001-09-20 05:19:47 +08:00
<DD><I>Set the texture unit.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const unsigned int <B><A HREF="#DOC.2.102.12">getTextureUnit</A></B>() const
2001-09-20 05:19:47 +08:00
<DD><I>get the texture unit</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.102.15">setWrap</A></B>(const <!1><A HREF="Texture.html#DOC.2.102.13">WrapParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.102.14">WrapMode</A> wrap)
2001-09-20 05:19:47 +08:00
<DD><I>Set the texture wrap mode</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Texture.html#DOC.2.102.14">WrapMode</A> <B><A HREF="#DOC.2.102.16">getWrap</A></B>(const <!1><A HREF="Texture.html#DOC.2.102.13">WrapParameter</A> which) const
2001-09-20 05:19:47 +08:00
<DD><I>Get the texture wrap mode</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.102.17">setBorderColor</A></B>(const <!1><A HREF="Vec4.html">Vec4</A>&amp; color)
<DD><I>Sets the border color for this texture.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B><A HREF="#DOC.2.102.18">borderColor</A></B>(void) const
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.102.21">setFilter</A></B>(const <!1><A HREF="Texture.html#DOC.2.102.19">FilterParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.102.20">FilterMode</A> filter)
2001-09-20 05:19:47 +08:00
<DD><I>Set the texture filter mode</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Texture.html#DOC.2.102.20">FilterMode</A> <B><A HREF="#DOC.2.102.22">getFilter</A></B>(const <!1><A HREF="Texture.html#DOC.2.102.19">FilterParameter</A> which) const
2001-09-20 05:19:47 +08:00
<DD><I>Get the texture filter mode</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.102.24">setInternalFormatMode</A></B>(const <!1><A HREF="Texture.html#DOC.2.102.23">InternalFormatMode</A> mode)
2001-09-20 05:19:47 +08:00
<DD><I>Set the internal format mode.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Texture.html#DOC.2.102.23">InternalFormatMode</A> <B><A HREF="#DOC.2.102.25">getInternalFormatMode</A></B>() const
2001-09-20 05:19:47 +08:00
<DD><I>Get the internal format mode</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.102.26">setInternalFormatValue</A></B>(const int internalFormat)
2001-09-20 05:19:47 +08:00
<DD><I>Set the internal format to use when creating OpenGL textures.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const int <B><A HREF="#DOC.2.102.27">getInternalFormatValue</A></B>() const
2001-09-20 05:19:47 +08:00
<DD><I>Get the internal format to use when creating OpenGL textures</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const uint <B><A HREF="#DOC.2.102.28">getTextureObject</A></B>(const uint contextID) const
2001-09-20 05:19:47 +08:00
<DD><I>return the OpenGL texture object for specified context</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const uint <B><A HREF="#DOC.2.102.29">getTextureObjectSize</A></B>() const
2001-09-20 05:19:47 +08:00
<DD><I>return the memory size of texture object.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.102.31">setSubloadMode</A></B>(const <!1><A HREF="Texture.html#DOC.2.102.30">SubloadMode</A> mode)
2001-09-20 05:19:47 +08:00
<DD><I>Set the texture subload mode.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Texture.html#DOC.2.102.30">SubloadMode</A> <B><A HREF="#DOC.2.102.32">getSubloadMode</A></B>() const
2001-09-20 05:19:47 +08:00
<DD><I>Get the texture subload mode.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.102.33">setSubloadOffset</A></B>(const int <!1><A HREF="Viewport.html#DOC.2.111.7">x</A>, const int <!1><A HREF="Viewport.html#DOC.2.111.8">y</A>)
2001-09-20 05:19:47 +08:00
<DD><I>Set the texture subload offsets.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.102.34">getSubloadOffset</A></B>(int&amp; <!1><A HREF="Viewport.html#DOC.2.111.7">x</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.111.8">y</A>) const
2001-09-20 05:19:47 +08:00
<DD><I>Get the texture subload offsets.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.102.35">setSubloadSize</A></B>(const int <!1><A HREF="Viewport.html#DOC.2.111.9">width</A>, const int <!1><A HREF="Viewport.html#DOC.2.111.10">height</A>)
<DD><I>Set the texture subload width.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.102.36">getSubloadSize</A></B>(int&amp; <!1><A HREF="Viewport.html#DOC.2.111.9">width</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.111.10">height</A>) const
<DD><I>Get the texture subload width.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline GLuint&amp; <B><A HREF="#DOC.2.102.37">getHandle</A></B>(const uint contextID) const
2001-09-20 05:19:47 +08:00
<DD><I>Get the handle to the texture object for the current context</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline uint&amp; <B><A HREF="#DOC.2.102.38">getModifiedTag</A></B>(const uint contextID) const
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.102.39">dirtyTextureObject</A></B>()
2001-09-20 05:19:47 +08:00
<DD><I>Force a recompile on next apply() of associated OpenGL texture objects</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.102.40">apply</A></B>(<!1><A HREF="State.html">State</A>&amp; state) const
2001-09-20 05:19:47 +08:00
<DD><I>On first apply (unless already compiled), create the minmapped texture and bind it, subsequent apply will simple bind to texture</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.102.41">compile</A></B>(<!1><A HREF="State.html">State</A>&amp; state) const
2001-09-20 05:19:47 +08:00
<DD><I>Compile the texture mip maps.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static void <B><A HREF="#DOC.2.102.42">deleteTextureObject</A></B>(uint contextID, GLuint handle)
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static void <B><A HREF="#DOC.2.102.43">flushDeletedTextureObjects</A></B>(uint contextID)
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.102.13">WrapParameter</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.102.14">WrapMode</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.102.19">FilterParameter</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.102.20">FilterMode</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.102.23">InternalFormatMode</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.102.30">SubloadMode</A></B>
2001-09-20 05:19:47 +08:00
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable uint <B><A HREF="#DOC.2.102.49">_textureObjectSize</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<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.102.50">_image</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLenum <B><A HREF="#DOC.2.102.51">_target</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.102.52">_textureUnit</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.102.14">WrapMode</A> <B><A HREF="#DOC.2.102.53">_wrap_s</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.102.14">WrapMode</A> <B><A HREF="#DOC.2.102.54">_wrap_t</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.102.14">WrapMode</A> <B><A HREF="#DOC.2.102.55">_wrap_r</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.102.20">FilterMode</A> <B><A HREF="#DOC.2.102.56">_min_filter</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.102.20">FilterMode</A> <B><A HREF="#DOC.2.102.57">_mag_filter</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable bool <B><A HREF="#DOC.2.102.58">_texParamtersDirty</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.102.23">InternalFormatMode</A> <B><A HREF="#DOC.2.102.59">_internalFormatMode</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.102.60">_internalFormatValue</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.102.61">_borderColor</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable GLsizei <B><A HREF="#DOC.2.102.62">_textureWidth</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable GLsizei <B><A HREF="#DOC.2.102.63">_textureHeight</A></B>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Texture.html#DOC.2.102.30">SubloadMode</A> <B><A HREF="#DOC.2.102.64">_subloadMode</A></B>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLint <B><A HREF="#DOC.2.102.65">_subloadOffsX</A></B>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLint <B><A HREF="#DOC.2.102.66">_subloadOffsY</A></B>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLsizei <B><A HREF="#DOC.2.102.67">_subloadWidth</A></B>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>GLsizei <B><A HREF="#DOC.2.102.68">_subloadHeight</A></B>
2001-09-20 05:19:47 +08:00
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.102.44">~Texture</A></B>()
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.102.45">applyTexParameters</A></B>(GLenum target, <!1><A HREF="State.html">State</A>&amp; state) const
<DD><I>Method which does setting of texture paramters.</I>
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.102.46">applyTexImage</A></B>(GLenum target, <!1><A HREF="Image.html">Image</A>* image, <!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>
2001-09-20 05:19:47 +08:00
</DL></P>
<P><DL>
<DT><H3>Protected Members</H3><DD><DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector&lt;GLuint&gt; TextureNameList mutable TextureNameList <B><A HREF="#DOC.2.102.47">_handleList</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector&lt;uint&gt; ImageModifiedTag mutable ImageModifiedTag <B><A HREF="#DOC.2.102.48">_modifiedTag</A></B>
2001-09-20 05:19:47 +08:00
<DT>
2002-04-25 04:13:50 +08:00
<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.102.69">s_deletedTextureObjectCache</A></B>
2001-09-20 05:19:47 +08:00
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="StateAttribute.html">StateAttribute</A>:</H3>
<DL>
2001-09-22 10:42:08 +08:00
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
2002-02-09 18:54:18 +08:00
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">Object</A>* <B>cloneType</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">Object</A>* <B>clone</B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp;) const
2001-09-22 10:42:08 +08:00
<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>
2002-04-25 04:13:50 +08:00
<IMG ALT="o" SRC=icon2.gif>virtual const <!1><A HREF="StateAttribute.html#DOC.2.92.5">Type</A> <B>getType</B>() const
2001-09-22 10:42:08 +08:00
<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>
2001-09-20 05:19:47 +08:00
<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>
2001-09-22 10:42:08 +08:00
<IMG ALT="o" SRC=icon2.gif>typedef unsigned int <B>Type</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>Types</B>
2001-09-20 05:19:47 +08:00
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="o" SRC=icon2.gif>inline void <B>setDataVariance</B>(const <!1><A HREF="Object.html#DOC.2.74.7">DataVariance</A> dv)
<DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Object.html#DOC.2.74.7">DataVariance</A> <B>getDataVariance</B>() const
</DL></P>
<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>DataVariance</B>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
2002-04-25 04:13:50 +08:00
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Object.html#DOC.2.74.7">DataVariance</A> <B>_dataVariance</B>
</DL></P>
2001-09-20 05:19:47 +08:00
</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 void <B>unref_nodelete</B>() const
<DT>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.1"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Texture()</B></TT>
<DL><DT><DD></DL><P>
2002-02-09 18:54:18 +08:00
<A NAME="Texture"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Texture(const <!1><A HREF="Texture.html#DOC.2.102.2">Texture</A>&amp; text, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)</B></TT>
2002-02-09 18:54:18 +08:00
<DD>Copy constructor using CopyOp to manage deep vs shallow copy
<DL><DT><DD></DL><P>
2001-09-22 10:42:08 +08:00
<A NAME="META_StateAttribute"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.3"></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.92.5">Type</A>)(<!1><A HREF="StateAttribute.html#DOC.2.92.6.2">TEXTURE_0</A>+<!1><A HREF="Texture.html#DOC.2.102.52">_textureUnit</A>))</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
2001-09-22 10:42:08 +08:00
<A NAME="compare"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.4"></A>
2001-09-22 10:42:08 +08:00
<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
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="setStateSetModes"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.5"></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.92.2">GLModeValue</A> value) const </B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="setImage"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.6"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.7"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.8"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.9"></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.111.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.111.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.111.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.111.10">height</A> )</B></TT>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.10"></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.111.7">x</A>, int <!1><A HREF="Viewport.html#DOC.2.111.8">y</A>, int <!1><A HREF="Viewport.html#DOC.2.111.9">width</A>, int <!1><A HREF="Viewport.html#DOC.2.111.10">height</A> )</B></TT>
2001-09-20 05:19:47 +08:00
<DD>Copy a two-dimensional texture subimage. As per glCopyTexSubImage2D.
2001-12-25 05:56:22 +08:00
Updates portion of an existing OpenGL texture object from the current OpenGL background
2001-09-20 05:19:47 +08:00
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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.11"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.12"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.13"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.13.1"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.13.2"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.13.3"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.14"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.14.1"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLAMP</B></TT>
<DL><DT><DD></DL><P>
2001-12-25 05:56:22 +08:00
<A NAME="CLAMP_TO_EDGE"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.14.2"></A>
2001-12-25 05:56:22 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLAMP_TO_EDGE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLAMP_TO_BORDER"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.14.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLAMP_TO_BORDER</B></TT>
<DL><DT><DD></DL><P>
2001-09-20 05:19:47 +08:00
<A NAME="REPEAT"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.14.4"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> REPEAT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MIRROR"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.14.5"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MIRROR</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="setWrap"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setWrap(const <!1><A HREF="Texture.html#DOC.2.102.13">WrapParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.102.14">WrapMode</A> wrap)</B></TT>
2001-09-20 05:19:47 +08:00
<DD>Set the texture wrap mode
<DL><DT><DD></DL><P>
<A NAME="getWrap"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Texture.html#DOC.2.102.14">WrapMode</A> getWrap(const <!1><A HREF="Texture.html#DOC.2.102.13">WrapParameter</A> which) const </B></TT>
2001-09-20 05:19:47 +08:00
<DD>Get the texture wrap mode
<DL><DT><DD></DL><P>
<A NAME="setBorderColor"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setBorderColor(const <!1><A HREF="Vec4.html">Vec4</A>&amp; color)</B></TT>
<DD>Sets the border color for this texture. Makes difference only if
wrap mode is CLAMP_TO_BORDER
<DL><DT><DD></DL><P>
<A NAME="borderColor"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec4.html">Vec4</A>&amp; borderColor(void) const </B></TT>
<DL><DT><DD></DL><P>
2001-09-20 05:19:47 +08:00
<A NAME="FilterParameter"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.19"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.19.1"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.19.2"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.20"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.20.1"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.20.2"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.20.3"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.20.4"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.20.5"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.20.6"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.20.7"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ANISOTROPIC</B></TT>
<DL><DT><DD></DL><P></DL>
<A NAME="setFilter"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFilter(const <!1><A HREF="Texture.html#DOC.2.102.19">FilterParameter</A> which, const <!1><A HREF="Texture.html#DOC.2.102.20">FilterMode</A> filter)</B></TT>
2001-09-20 05:19:47 +08:00
<DD>Set the texture filter mode
<DL><DT><DD></DL><P>
<A NAME="getFilter"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Texture.html#DOC.2.102.20">FilterMode</A> getFilter(const <!1><A HREF="Texture.html#DOC.2.102.19">FilterParameter</A> which) const </B></TT>
2001-09-20 05:19:47 +08:00
<DD>Get the texture filter mode
<DL><DT><DD></DL><P>
<A NAME="InternalFormatMode"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.23"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.23.1"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.23.2"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.23.3"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.23.4"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.23.5"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.23.6"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setInternalFormatMode(const <!1><A HREF="Texture.html#DOC.2.102.23">InternalFormatMode</A> mode)</B></TT>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Texture.html#DOC.2.102.23">InternalFormatMode</A> getInternalFormatMode() const </B></TT>
2001-09-20 05:19:47 +08:00
<DD>Get the internal format mode
<DL><DT><DD></DL><P>
<A NAME="setInternalFormatValue"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setInternalFormatValue(const int internalFormat)</B></TT>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.27"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.28"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.29"></A>
2001-09-20 05:19:47 +08:00
<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
2001-12-25 05:56:22 +08:00
uploading the texture to graphics hardware, which in turn can
2001-09-20 05:19:47 +08:00
be used for setting texture residence priorities.
<DL><DT><DD></DL><P>
<A NAME="SubloadMode"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.30"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.30.1"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OFF</B></TT>
<DL><DT><DD></DL><P>
<A NAME="AUTO"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.30.2"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> AUTO</B></TT>
<DL><DT><DD></DL><P>
<A NAME="IF_DIRTY"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.30.3"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setSubloadMode(const <!1><A HREF="Texture.html#DOC.2.102.30">SubloadMode</A> mode)</B></TT>
2001-09-20 05:19:47 +08:00
<DD>Set the texture subload mode.
<DL><DT><DD></DL><P>
<A NAME="getSubloadMode"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Texture.html#DOC.2.102.30">SubloadMode</A> getSubloadMode() const </B></TT>
2001-09-20 05:19:47 +08:00
<DD>Get the texture subload mode.
<DL><DT><DD></DL><P>
<A NAME="setSubloadOffset"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setSubloadOffset(const int <!1><A HREF="Viewport.html#DOC.2.111.7">x</A>, const int <!1><A HREF="Viewport.html#DOC.2.111.8">y</A>)</B></TT>
2001-09-20 05:19:47 +08:00
<DD>Set the texture subload offsets.
<DL><DT><DD></DL><P>
<A NAME="getSubloadOffset"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void getSubloadOffset(int&amp; <!1><A HREF="Viewport.html#DOC.2.111.7">x</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.111.8">y</A>) const </B></TT>
2001-09-20 05:19:47 +08:00
<DD>Get the texture subload offsets.
<DL><DT><DD></DL><P>
<A NAME="setSubloadSize"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setSubloadSize(const int <!1><A HREF="Viewport.html#DOC.2.111.9">width</A>, const int <!1><A HREF="Viewport.html#DOC.2.111.10">height</A>)</B></TT>
<DD>Set the texture subload width. If width or height are zero then
the repsective size value is calculated from the source image sizes.
<DL><DT><DD></DL><P>
<A NAME="getSubloadSize"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void getSubloadSize(int&amp; <!1><A HREF="Viewport.html#DOC.2.111.9">width</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.111.10">height</A>) const </B></TT>
<DD>Get the texture subload width.
<DL><DT><DD></DL><P>
2001-09-20 05:19:47 +08:00
<A NAME="getHandle"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.37"></A>
2001-09-22 10:42:08 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline GLuint&amp; getHandle(const uint contextID) const </B></TT>
2001-09-20 05:19:47 +08:00
<DD>Get the handle to the texture object for the current context
<DL><DT><DD></DL><P>
<A NAME="getModifiedTag"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline uint&amp; getModifiedTag(const uint contextID) const </B></TT>
<DL><DT><DD></DL><P>
2001-09-20 05:19:47 +08:00
<A NAME="dirtyTextureObject"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.39"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.40"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.41"></A>
2001-09-20 05:19:47 +08:00
<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="deleteTextureObject"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.42"></A>
2001-09-22 10:42:08 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static void deleteTextureObject(uint contextID, GLuint handle)</B></TT>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.43"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.44"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~Texture()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="applyTexParameters"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.45"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void applyTexParameters(GLenum target, <!1><A HREF="State.html">State</A>&amp; state) const </B></TT>
<DD>Method which does setting of texture paramters.
<DL><DT><DD></DL><P>
<A NAME="applyTexImage"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.46"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void applyTexImage(GLenum target, <!1><A HREF="Image.html">Image</A>* image, <!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>
2001-09-20 05:19:47 +08:00
<A NAME="_handleList"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.47"></A>
2001-09-22 10:42:08 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::vector&lt;GLuint&gt; TextureNameList mutable TextureNameList _handleList</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_modifiedTag"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.48"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.49"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.50"></A>
2001-09-20 05:19:47 +08:00
<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="_target"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.51"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLenum _target</B></TT>
<DL><DT><DD></DL><P>
2001-09-20 05:19:47 +08:00
<A NAME="_textureUnit"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.52"></A>
2001-09-20 05:19:47 +08:00
<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>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.53"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.102.14">WrapMode</A> _wrap_s</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_wrap_t"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.54"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.102.14">WrapMode</A> _wrap_t</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_wrap_r"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.55"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.102.14">WrapMode</A> _wrap_r</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_min_filter"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.56"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.102.20">FilterMode</A> _min_filter</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_mag_filter"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.57"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.102.20">FilterMode</A> _mag_filter</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_texParamtersDirty"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.58"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable bool _texParamtersDirty</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_internalFormatMode"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.59"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.102.23">InternalFormatMode</A> _internalFormatMode</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_internalFormatValue"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.60"></A>
2001-09-20 05:19:47 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _internalFormatValue</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_borderColor"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.61"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _borderColor</B></TT>
<DL><DT><DD></DL><P>
2001-09-20 05:19:47 +08:00
<A NAME="_textureWidth"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.62"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable GLsizei _textureWidth</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_textureHeight"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.63"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable GLsizei _textureHeight</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_subloadMode"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.64"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.102.30">SubloadMode</A> _subloadMode</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_subloadOffsX"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.65"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLint _subloadOffsX</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="_subloadOffsY"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.66"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLint _subloadOffsY</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadWidth"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.67"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLsizei _subloadWidth</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadHeight"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.68"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLsizei _subloadHeight</B></TT>
2001-09-20 05:19:47 +08:00
<DL><DT><DD></DL><P>
<A NAME="s_deletedTextureObjectCache"></A>
2002-04-25 04:13:50 +08:00
<A NAME="DOC.2.102.69"></A>
2001-09-20 05:19:47 +08:00
<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>Direct child classes:
</B><DD><A HREF="TextureCubeMap.html">TextureCubeMap</A><BR>
</DL>
2001-09-20 05:19:47 +08:00
<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>