OpenSceneGraph/doc/doc++/osg/Texture2D.html
Robert Osfield ed10594139 Updated docs
2004-08-06 06:53:36 +00:00

595 lines
32 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class SG_EXPORT osg::Texture2D</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.6">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::Texture2D</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,CTexture2D,MTexture2D.html">
<param name=before value="M,M,M,M,M">
<param name=after value="Md_SPSPSP,Md_SPSP,Md_SP,Md_,M">
<param name=indent value="0,1,2,3,4">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Classes</H3><DD><DT>
class SG_EXPORT <B><A HREF="SubloadCallback.2.html">SubloadCallback</A></B>: public <!1><A HREF="Referenced.html">Referenced</A>
</DL></P>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.242.1">Texture2D</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.242.2">Texture2D</A></B>(<!1><A HREF="Image.html">Image</A>* image)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.242.3">Texture2D</A></B>(const <!1><A HREF="Texture2D.html#DOC.2.242.3">Texture2D</A>&amp; text, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)
<DD><I>Copy constructor using CopyOp to manage deep vs shallow copy</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.242.4">META_StateAttribute</A></B>(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="Texture2D.html">Texture2D</A>, <!1><A HREF="StateAttribute.html#DOC.2.229.6.1">TEXTURE</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual int <B><A HREF="#DOC.2.242.5">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 bool <B><A HREF="#DOC.2.242.6">getModeUsage</A></B>(<!1><A HREF="StateAttribute.html#DOC.2.229.20">ModeUsage</A>&amp; usage) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.242.7">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.242.8">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.242.9">getImage</A></B>() const
<DD><I>Get the const texture image.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline unsigned int&amp; <B><A HREF="#DOC.2.242.10">getModifiedTag</A></B>(unsigned int contextID) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.242.11">setImage</A></B>(unsigned int, <!1><A HREF="Image.html">Image</A>* image)
<DD><I>Set the texture image, ignoring face.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Image.html">Image</A>* <B><A HREF="#DOC.2.242.12">getImage</A></B>(unsigned int)
<DD><I>Get the texture image, ignoring face value as there is only one image.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const <!1><A HREF="Image.html">Image</A>* <B><A HREF="#DOC.2.242.13">getImage</A></B>(unsigned int) const
<DD><I>Get the const texture image , ignoring face value as there is only one image.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual unsigned int <B><A HREF="#DOC.2.242.14">getNumImages</A></B>() const
<DD><I>Get the number of images that can be assigned to the Texture.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.242.15">setTextureSize</A></B>(int <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, int <!1><A HREF="Viewport.html#DOC.2.278.11">height</A>) const
<DD><I>Set the texture width and height.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.242.16">getTextureWidth</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>int <B><A HREF="#DOC.2.242.17">getTextureHeight</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.242.18">getTextureSize</A></B>(int&amp; <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.278.11">height</A>) const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.242.20">setSubloadCallback</A></B>(<!1><A HREF="SubloadCallback.2.html">SubloadCallback</A>* cb)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="SubloadCallback.2.html">SubloadCallback</A>* <B><A HREF="#DOC.2.242.21">getSubloadCallback</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="SubloadCallback.2.html">SubloadCallback</A>* <B><A HREF="#DOC.2.242.22">getSubloadCallback</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.242.23">setNumMipmapLevels</A></B>(unsigned int num) const
<DD><I>Set the number of mip map levels the the texture has been created with, should only be called within an osg::Texuture::apply() and custom OpenGL texture load</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.242.24">getNumMipmapLevels</A></B>() const
<DD><I>Get the number of mip map levels the the texture has been created with</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.242.25">copyTexImage2D</A></B>(<!1><A HREF="State.html">State</A>&amp; state, int <!1><A HREF="Viewport.html#DOC.2.278.8">x</A>, int <!1><A HREF="Viewport.html#DOC.2.278.9">y</A>, int <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, int <!1><A HREF="Viewport.html#DOC.2.278.11">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.242.26">copyTexSubImage2D</A></B>(<!1><A HREF="State.html">State</A>&amp; state, int xoffset, int yoffset, int <!1><A HREF="Viewport.html#DOC.2.278.8">x</A>, int <!1><A HREF="Viewport.html#DOC.2.278.9">y</A>, int <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, int <!1><A HREF="Viewport.html#DOC.2.278.11">height</A> )
<DD><I>Copy a two-dimensional texture subimage.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.242.27">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>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Image.html">Image</A>&gt; <B><A HREF="#DOC.2.242.30">_image</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable GLsizei <B><A HREF="#DOC.2.242.31">_textureWidth</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable GLsizei <B><A HREF="#DOC.2.242.32">_textureHeight</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable GLsizei <B><A HREF="#DOC.2.242.33">_numMipmapLevels</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="SubloadCallback.2.html">SubloadCallback</A>&gt; <B><A HREF="#DOC.2.242.34">_subloadCallback</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable <!1><A HREF="Texture2D.html#DOC.2.242.35">ImageModifiedTag</A> <B><A HREF="#DOC.2.242.36">_modifiedTag</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.242.28">~Texture2D</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.242.29">computeInternalFormat</A></B>() const
</DL></P>
<P><DL>
<DT><H3>Protected</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef <!1><A HREF="buffered_value.html">buffered_value</A>&lt;unsigned int&gt; <B><A HREF="#DOC.2.242.35">ImageModifiedTag</A></B>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Texture.html">Texture</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Classes</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>WrapParameter</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>WrapMode</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>FilterParameter</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>FilterMode</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>InternalFormatMode</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>ShadowCompareFunc</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>ShadowTextureMode</B>
<DT>
class SG_EXPORT <B><A HREF="Extensions.5.html">Extensions</A></B>: public <!1><A HREF="Referenced.html">osg::Referenced</A>
<DD><I>Extensions class which encapsulates the querring of extensions and associated function pointers, and provide convinience wrappers to check for the extensions or use the associated functions</I>
<DT>
class <B><A HREF="TextureObject.html">TextureObject</A></B>: public <!1><A HREF="Referenced.html">osg::Referenced</A>
<DT>
class SG_EXPORT <B><A HREF="TextureObjectManager.html">TextureObjectManager</A></B>: public <!1><A HREF="Referenced.html">osg::Referenced</A>
</DL></P>
<P><DL>
<DT><H3>Public Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable <!1><A HREF="Texture.html#DOC.2.240.92">TextureObjectBuffer</A> <B>_textureObjectBuffer</B>
</DL></P>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">osg::Object</A>* <B>cloneType</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">osg::Object</A>* <B>clone</B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop) const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>isSameKindAs</B>(const <!1><A HREF="Object.html">osg::Object</A>* obj) const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>libraryName</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>className</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="StateAttribute.html#DOC.2.229.5">Type</A> <B>getType</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>isTextureAttribute</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setWrap</B>(<!1><A HREF="Texture.html#DOC.2.240.10">WrapParameter</A> which, <!1><A HREF="Texture.html#DOC.2.240.11">WrapMode</A> wrap)
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.11">WrapMode</A> <B>getWrap</B>(<!1><A HREF="Texture.html#DOC.2.240.10">WrapParameter</A> which) const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setBorderColor</B>(const <!1><A HREF="osg.html#DOC.2.270">Vec4</A>&amp; color)
<DT>
<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="osg.html#DOC.2.270">Vec4</A>&amp; <B>getBorderColor</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setBorderWidth</B>(GLint <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>)
<DT>
<IMG ALT="o" SRC=icon2.gif>GLint <B>getBorderWidth</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setFilter</B>(<!1><A HREF="Texture.html#DOC.2.240.18">FilterParameter</A> which, <!1><A HREF="Texture.html#DOC.2.240.19">FilterMode</A> filter)
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.19">FilterMode</A> <B>getFilter</B>(<!1><A HREF="Texture.html#DOC.2.240.18">FilterParameter</A> which) const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setMaxAnisotropy</B>(float anis)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline float <B>getMaxAnisotropy</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setUseHardwareMipMapGeneration</B>(bool useHardwareMipMapGeneration)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline bool <B>getUseHardwareMipMapGeneration</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setUnRefImageDataAfterApply</B>(bool flag)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline bool <B>getUnRefImageDataAfterApply</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setClientStorageHint</B>(bool flag)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline bool <B>getClientStorageHint</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setInternalFormatMode</B>(<!1><A HREF="Texture.html#DOC.2.240.30">InternalFormatMode</A> mode)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Texture.html#DOC.2.240.30">InternalFormatMode</A> <B>getInternalFormatMode</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setInternalFormat</B>(GLint internalFormat)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline GLint <B>getInternalFormat</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>isCompressedInternalFormat</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="TextureObject.html">TextureObject</A>* <B>getTextureObject</B>(unsigned int contextID) const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>dirtyTextureObject</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>areAllTextureObjectsLoaded</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline unsigned int&amp; <B>getTextureParameterDirty</B>(unsigned int contextID) const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>dirtyTextureParameters</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setShadowComparison</B>(bool flag)
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setShadowCompareFunc</B>(<!1><A HREF="Texture.html#DOC.2.240.42">ShadowCompareFunc</A> func)
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.42">ShadowCompareFunc</A> <B>getShadowCompareFunc</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setShadowTextureMode</B>(<!1><A HREF="Texture.html#DOC.2.240.45">ShadowTextureMode</A> mode)
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.45">ShadowTextureMode</A> <B>getShadowTextureMode</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>setShadowAmbient</B>(float shadow_ambient)
<DT>
<IMG ALT="o" SRC=icon2.gif>float <B>getShadowAmbient</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>compileGLObjects</B>(<!1><A HREF="State.html">State</A>&amp; state) const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>releaseGLObjects</B>(<!1><A HREF="State.html">State</A>* state=0) const
<DT>
<IMG ALT="o" SRC=icon2.gif>static <!1><A HREF="Extensions.5.html">Extensions</A>* <B>getExtensions</B>(unsigned int contextID, bool createIfNotInitalized)
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>setExtensions</B>(unsigned int contextID, <!1><A HREF="Extensions.5.html">Extensions</A>* extensions)
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>applyTexImage2D_load</B>(<!1><A HREF="State.html">State</A>&amp; state, GLenum target, const <!1><A HREF="Image.html">Image</A>* image, GLsizei <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, GLsizei <!1><A HREF="Viewport.html#DOC.2.278.11">height</A>, GLsizei numMipmapLevels) const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>applyTexImage2D_subload</B>(<!1><A HREF="State.html">State</A>&amp; state, GLenum target, const <!1><A HREF="Image.html">Image</A>* image, GLsizei <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, GLsizei <!1><A HREF="Viewport.html#DOC.2.278.11">height</A>, GLint inInternalFormat, GLsizei numMipmapLevels) const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>takeTextureObjects</B>(<!1><A HREF="Texture.html#DOC.2.240.90">TextureObjectListMap</A>&amp; toblm)
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>setTextureObjectManager</B>(<!1><A HREF="TextureObjectManager.html">TextureObjectManager</A>* tom)
<DT>
<IMG ALT="o" SRC=icon2.gif>static <!1><A HREF="TextureObjectManager.html">TextureObjectManager</A>* <B>getTextureObjectManager</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>flushTextureObjects</B>(unsigned int contextID, double currentTime, double&amp; availableTime)
</DL></P>
<P><DL>
<DT><H3>Public</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>typedef std::list&lt; <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="TextureObject.html">TextureObject</A>&gt; &gt; <B>TextureObjectList</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef std::map&lt;unsigned int, <!1><A HREF="Texture.html#DOC.2.240.89">TextureObjectList</A> &gt; <B>TextureObjectListMap</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>typedef <!1><A HREF="buffered_object.html">buffered_object</A>&lt; <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="TextureObject.html">TextureObject</A>&gt; &gt; <B>TextureObjectBuffer</B>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable <!1><A HREF="Texture.html#DOC.2.240.69">TexParameterDirtyList</A> <B>_texParametersDirtyList</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.11">WrapMode</A> <B>_wrap_s</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.11">WrapMode</A> <B>_wrap_t</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.11">WrapMode</A> <B>_wrap_r</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.19">FilterMode</A> <B>_min_filter</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.19">FilterMode</A> <B>_mag_filter</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>float <B>_maxAnisotropy</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>_useHardwareMipMapGeneration</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>_unrefImageDataAfterApply</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>_clientStorageHint</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="osg.html#DOC.2.270">Vec4</A> <B>_borderColor</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>GLint <B>_borderWidth</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.30">InternalFormatMode</A> <B>_internalFormatMode</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>mutable GLint <B>_internalFormat</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>_use_shadow_comparison</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.42">ShadowCompareFunc</A> <B>_shadow_compare_func</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Texture.html#DOC.2.240.45">ShadowTextureMode</A> <B>_shadow_texture_mode</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>float <B>_shadow_ambient</B>
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>void <B>computeInternalFormatWithImage</B>(const <!1><A HREF="Image.html">osg::Image</A>&amp; image) const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>computeRequiredTextureDimensions</B>(<!1><A HREF="State.html">State</A>&amp; state, const <!1><A HREF="Image.html">osg::Image</A>&amp; image, GLsizei&amp; <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, GLsizei&amp; <!1><A HREF="Viewport.html#DOC.2.278.11">height</A>, GLsizei&amp; numMipmapLevels) const
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>isCompressedInternalFormat</B>(GLint internalFormat) const
<DT>
<IMG ALT="o" SRC=icon2.gif>void <B>applyTexParameters</B>(GLenum target, <!1><A HREF="State.html">State</A>&amp; state) const
<DT>
<IMG ALT="o" SRC=icon2.gif>int <B>compareTexture</B>(const <!1><A HREF="Texture.html">Texture</A>&amp; rhs) const
</DL></P>
<P><DL>
<DT><H3>Protected</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>typedef <!1><A HREF="buffered_value.html">buffered_value</A>&lt;unsigned int&gt; <B>TexParameterDirtyList</B>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="StateAttribute.html">StateAttribute</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Classes</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>Values</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>Types</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>struct <B>ModeUsage</B>
</DL></P>
<P><DL>
<DT><H3>Public Methods</H3><DD><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</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>typedef unsigned int <B>Type</B>
</DL></P>
</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Classes</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>enum <B>DataVariance</B>
</DL></P>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setDataVariance</B>(<!1><A HREF="Object.html#DOC.2.167.8">DataVariance</A> dv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Object.html#DOC.2.167.8">DataVariance</A> <B>getDataVariance</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>setUserData</B>(<!1><A HREF="Referenced.html">Referenced</A>* obj)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>() const
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Object.html#DOC.2.167.8">DataVariance</A> <B>_dataVariance</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Referenced.html">Referenced</A>&gt; <B>_userData</B>
</DL></P>
</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>(const <!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>static void <B>setDeleteHandler</B>(<!1><A HREF="DeleteHandler.html">DeleteHandler</A>* handler)
<DT>
<IMG ALT="o" SRC=icon2.gif>static <!1><A HREF="DeleteHandler.html">DeleteHandler</A>* <B>getDeleteHandler</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>ref</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref_nodelete</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline int <B>referenceCount</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable OpenThreads::Mutex <B>_refMutex</B>
<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="Texture2D"></A>
<A NAME="DOC.2.242.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Texture2D()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Texture2D"></A>
<A NAME="DOC.2.242.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Texture2D(<!1><A HREF="Image.html">Image</A>* image)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Texture2D"></A>
<A NAME="DOC.2.242.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Texture2D(const <!1><A HREF="Texture2D.html#DOC.2.242.3">Texture2D</A>&amp; text, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)</B></TT>
<DD>Copy constructor using CopyOp to manage deep vs shallow copy
<DL><DT><DD></DL><P>
<A NAME="META_StateAttribute"></A>
<A NAME="DOC.2.242.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_StateAttribute(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="Texture2D.html">Texture2D</A>, <!1><A HREF="StateAttribute.html#DOC.2.229.6.1">TEXTURE</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="compare"></A>
<A NAME="DOC.2.242.5"></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="getModeUsage"></A>
<A NAME="DOC.2.242.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool getModeUsage(<!1><A HREF="StateAttribute.html#DOC.2.229.20">ModeUsage</A>&amp; usage) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setImage"></A>
<A NAME="DOC.2.242.7"></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.242.8"></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.242.9"></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="getModifiedTag"></A>
<A NAME="DOC.2.242.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline unsigned int&amp; getModifiedTag(unsigned int contextID) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setImage"></A>
<A NAME="DOC.2.242.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void setImage(unsigned int, <!1><A HREF="Image.html">Image</A>* image)</B></TT>
<DD>Set the texture image, ignoring face. as there is only one image
<DL><DT><DD></DL><P>
<A NAME="getImage"></A>
<A NAME="DOC.2.242.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Image.html">Image</A>* getImage(unsigned int)</B></TT>
<DD>Get the texture image, ignoring face value as there is only one image.
<DL><DT><DD></DL><P>
<A NAME="getImage"></A>
<A NAME="DOC.2.242.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const <!1><A HREF="Image.html">Image</A>* getImage(unsigned int) const </B></TT>
<DD>Get the const texture image , ignoring face value as there is only one image.
<DL><DT><DD></DL><P>
<A NAME="getNumImages"></A>
<A NAME="DOC.2.242.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual unsigned int getNumImages() const </B></TT>
<DD>Get the number of images that can be assigned to the Texture.
<DL><DT><DD></DL><P>
<A NAME="setTextureSize"></A>
<A NAME="DOC.2.242.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setTextureSize(int <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, int <!1><A HREF="Viewport.html#DOC.2.278.11">height</A>) const </B></TT>
<DD>Set the texture width and height. 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="getTextureWidth"></A>
<A NAME="DOC.2.242.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getTextureWidth() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getTextureHeight"></A>
<A NAME="DOC.2.242.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getTextureHeight() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getTextureSize"></A>
<A NAME="DOC.2.242.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void getTextureSize(int&amp; <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, int&amp; <!1><A HREF="Viewport.html#DOC.2.278.11">height</A>) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setSubloadCallback"></A>
<A NAME="DOC.2.242.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setSubloadCallback(<!1><A HREF="SubloadCallback.2.html">SubloadCallback</A>* cb)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getSubloadCallback"></A>
<A NAME="DOC.2.242.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="SubloadCallback.2.html">SubloadCallback</A>* getSubloadCallback()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getSubloadCallback"></A>
<A NAME="DOC.2.242.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="SubloadCallback.2.html">SubloadCallback</A>* getSubloadCallback() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setNumMipmapLevels"></A>
<A NAME="DOC.2.242.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNumMipmapLevels(unsigned int num) const </B></TT>
<DD>Set the number of mip map levels the the texture has been created with,
should only be called within an osg::Texuture::apply() and custom OpenGL texture load
<DL><DT><DD></DL><P>
<A NAME="getNumMipmapLevels"></A>
<A NAME="DOC.2.242.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int getNumMipmapLevels() const </B></TT>
<DD>Get the number of mip map levels the the texture has been created with
<DL><DT><DD></DL><P>
<A NAME="copyTexImage2D"></A>
<A NAME="DOC.2.242.25"></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.278.8">x</A>, int <!1><A HREF="Viewport.html#DOC.2.278.9">y</A>, int <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, int <!1><A HREF="Viewport.html#DOC.2.278.11">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.242.26"></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.278.8">x</A>, int <!1><A HREF="Viewport.html#DOC.2.278.9">y</A>, int <!1><A HREF="Viewport.html#DOC.2.278.10">width</A>, int <!1><A HREF="Viewport.html#DOC.2.278.11">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="apply"></A>
<A NAME="DOC.2.242.27"></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="~Texture2D"></A>
<A NAME="DOC.2.242.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~Texture2D()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeInternalFormat"></A>
<A NAME="DOC.2.242.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void computeInternalFormat() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="_image"></A>
<A NAME="DOC.2.242.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!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="_textureWidth"></A>
<A NAME="DOC.2.242.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable GLsizei _textureWidth</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_textureHeight"></A>
<A NAME="DOC.2.242.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable GLsizei _textureHeight</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_numMipmapLevels"></A>
<A NAME="DOC.2.242.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable GLsizei _numMipmapLevels</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_subloadCallback"></A>
<A NAME="DOC.2.242.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="SubloadCallback.2.html">SubloadCallback</A>&gt; _subloadCallback</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ImageModifiedTag"></A>
<A NAME="DOC.2.242.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef <!1><A HREF="buffered_value.html">buffered_value</A>&lt;unsigned int&gt; ImageModifiedTag</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_modifiedTag"></A>
<A NAME="DOC.2.242.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable <!1><A HREF="Texture2D.html#DOC.2.242.35">ImageModifiedTag</A> _modifiedTag</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://www.linuxsupportline.com/~doc++">DOC++</A>.
</BODY>
</HTML>