<?xml version="1.0" encoding="ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>VisionEgg.Textures.TextureObject</title> <link rel="stylesheet" href="epydoc.css" type="text/css" /> <script type="text/javascript" src="epydoc.js"></script> </head> <body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080"> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Home link --> <th> <a href="VisionEgg-module.html">Home</a> </th> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <!-- Project homepage --> <th class="navbar" align="right" width="100%"> <table border="0" cellpadding="0" cellspacing="0"> <tr><th class="navbar" align="center" ><a class="navbar" target="_top" href="http://www.visionegg.org">Vision Egg</a></th> </tr></table></th> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="100%"> <span class="breadcrumbs"> <a href="VisionEgg-module.html">Package VisionEgg</a> :: <a href="VisionEgg.Textures-module.html">Module Textures</a> :: Class TextureObject </span> </td> <td> <table cellpadding="0" cellspacing="0"> <!-- hide/show private --> <tr><td align="right"><span class="options" >[<a href="frames.html" target="_top">frames</a >] | <a href="VisionEgg.Textures.TextureObject-class.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <!-- ==================== CLASS DESCRIPTION ==================== --> <h1 class="epydoc">Class TextureObject</h1><span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject">source code</a></span><br /><br /> <pre class="base-tree"> object --+ | <strong class="uidshort">TextureObject</strong> </pre> <hr /> <pre class="literalblock"> Texture data in OpenGL. Potentially resident in video texture memory. This class encapsulates the state variables in OpenGL texture objects. Do not change attribute values directly. Use the methods provided instead. </pre><br /><br /> <!-- ==================== INSTANCE METHODS ==================== --> <a name="section-InstanceMethods"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td align="left" colspan="2" class="table-header"> <span class="table-header">Instance Methods</span></td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="VisionEgg.Textures.TextureObject-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">dimensions</span>=<span class="summary-sig-default">2</span>)</span><br /> x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.__init__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="__del__"></a><span class="summary-sig-name">__del__</span>(<span class="summary-sig-arg">self</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.__del__">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="is_resident"></a><span class="summary-sig-name">is_resident</span>(<span class="summary-sig-arg">self</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.is_resident">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="set_priority"></a><span class="summary-sig-name">set_priority</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">priority</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.set_priority">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="set_min_filter"></a><span class="summary-sig-name">set_min_filter</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">filter</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.set_min_filter">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="set_mag_filter"></a><span class="summary-sig-name">set_mag_filter</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">filter</span>)</span></td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.set_mag_filter">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="set_wrap_mode_s"></a><span class="summary-sig-name">set_wrap_mode_s</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">wrap_mode</span>)</span><br /> Set to GL_CLAMP, GL_CLAMP_TO_EDGE, GL_REPEAT, or GL_CLAMP_TO_BORDER</td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.set_wrap_mode_s">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="set_wrap_mode_t"></a><span class="summary-sig-name">set_wrap_mode_t</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">wrap_mode</span>)</span><br /> Set to GL_CLAMP, GL_CLAMP_TO_EDGE, GL_REPEAT, or GL_CLAMP_TO_BORDER</td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.set_wrap_mode_t">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="set_wrap_mode_r"></a><span class="summary-sig-name">set_wrap_mode_r</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">wrap_mode</span>)</span><br /> Set to GL_CLAMP, GL_CLAMP_TO_EDGE, GL_REPEAT, or GL_CLAMP_TO_BORDER</td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.set_wrap_mode_r">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="set_border_color"></a><span class="summary-sig-name">set_border_color</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">border_color</span>)</span><br /> Set to a sequence of 4 floats in the range 0.0 to 1.0</td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.set_border_color">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="VisionEgg.Textures.TextureObject-class.html#put_new_image" class="summary-sig-name">put_new_image</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">texel_data</span>, <span class="summary-sig-arg">mipmap_level</span>=<span class="summary-sig-default">0</span>, <span class="summary-sig-arg">border</span>=<span class="summary-sig-default">0</span>, <span class="summary-sig-arg">check_opengl_errors</span>=<span class="summary-sig-default">True</span>, <span class="summary-sig-arg">internal_format</span>=<span class="summary-sig-default">gl.GL_RGB</span>, <span class="summary-sig-arg">data_format</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">data_type</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">cube_side</span>=<span class="summary-sig-default">None</span>)</span><br /> Put numpy array or PIL Image into OpenGL as texture data.</td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.put_new_image">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a name="put_new_image_build_mipmaps"></a><span class="summary-sig-name">put_new_image_build_mipmaps</span>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">texel_data</span>, <span class="summary-sig-arg">internal_format</span>=<span class="summary-sig-default">gl.GL_RGB</span>, <span class="summary-sig-arg">data_format</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">data_type</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">cube_side</span>=<span class="summary-sig-default">None</span>)</span><br /> Similar to put_new_image(), but builds mipmaps.</td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.put_new_image_build_mipmaps">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="VisionEgg.Textures.TextureObject-class.html#put_sub_image" class="summary-sig-name">put_sub_image</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">texel_data</span>, <span class="summary-sig-arg">mipmap_level</span>=<span class="summary-sig-default">0</span>, <span class="summary-sig-arg">offset_tuple</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">data_format</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">data_type</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">cube_side</span>=<span class="summary-sig-default">None</span>)</span><br /> Replace all or part of a texture object.</td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.put_sub_image">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </span> </td><td class="summary"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td><span class="summary-sig"><a href="VisionEgg.Textures.TextureObject-class.html#put_new_framebuffer" class="summary-sig-name">put_new_framebuffer</a>(<span class="summary-sig-arg">self</span>, <span class="summary-sig-arg">buffer</span>=<span class="summary-sig-default">'back'</span>, <span class="summary-sig-arg">mipmap_level</span>=<span class="summary-sig-default">0</span>, <span class="summary-sig-arg">border</span>=<span class="summary-sig-default">0</span>, <span class="summary-sig-arg">framebuffer_lowerleft</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">size</span>=<span class="summary-sig-default">None</span>, <span class="summary-sig-arg">internal_format</span>=<span class="summary-sig-default">gl.GL_RGB</span>, <span class="summary-sig-arg">cube_side</span>=<span class="summary-sig-default">None</span>)</span><br /> Replace texture object with the framebuffer contents.</td> <td align="right" valign="top"> <span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.put_new_framebuffer">source code</a></span> </td> </tr> </table> </td> </tr> <tr> <td colspan="2" class="summary"> <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: <code>__delattr__</code>, <code>__getattribute__</code>, <code>__hash__</code>, <code>__new__</code>, <code>__reduce__</code>, <code>__reduce_ex__</code>, <code>__repr__</code>, <code>__setattr__</code>, <code>__str__</code> </p> </td> </tr> </table> <!-- ==================== PROPERTIES ==================== --> <a name="section-Properties"></a> <table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td align="left" colspan="2" class="table-header"> <span class="table-header">Properties</span></td> </tr> <tr> <td colspan="2" class="summary"> <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: <code>__class__</code> </p> </td> </tr> </table> <!-- ==================== METHOD DETAILS ==================== --> <a name="section-MethodDetails"></a> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr bgcolor="#70b0f0" class="table-header"> <td align="left" colspan="2" class="table-header"> <span class="table-header">Method Details</span></td> </tr> </table> <a name="__init__"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>, <span class="sig-arg">dimensions</span>=<span class="sig-default">2</span>)</span> <br /><em class="fname">(Constructor)</em> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.__init__">source code</a></span> </td> </table> <pre class="literalblock"> x.__init__(...) initializes x; see x.__class__.__doc__ for signature </pre> <dl class="fields"> <dt>Overrides: object.__init__ <dd><em class="note">(inherited documentation)</em></dd> </dt> </dl> </td></tr></table> </div> <a name="put_new_image"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">put_new_image</span>(<span class="sig-arg">self</span>, <span class="sig-arg">texel_data</span>, <span class="sig-arg">mipmap_level</span>=<span class="sig-default">0</span>, <span class="sig-arg">border</span>=<span class="sig-default">0</span>, <span class="sig-arg">check_opengl_errors</span>=<span class="sig-default">True</span>, <span class="sig-arg">internal_format</span>=<span class="sig-default">gl.GL_RGB</span>, <span class="sig-arg">data_format</span>=<span class="sig-default">None</span>, <span class="sig-arg">data_type</span>=<span class="sig-default">None</span>, <span class="sig-arg">cube_side</span>=<span class="sig-default">None</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.put_new_image">source code</a></span> </td> </table> <pre class="literalblock"> Put numpy array or PIL Image into OpenGL as texture data. The texel_data parameter contains the texture data. If it is a numpy array, it must be 1D, 2D, or 3D data in grayscale or color (RGB or RGBA). Remember that OpenGL begins its textures from the lower left corner, so texel_data[0,:] = 1.0 would set the bottom line of the texture to white, while texel_data[:,0] = 1.0 would set the left line of the texture to white. The mipmap_level parameter specifies which of the texture object's mipmap arrays you are filling. The border parameter specifies the width of the border. The check_opengl_errors parameter turns on (more comprehensible) error messages when something goes wrong. It also slows down performance a little bit. The internal_format parameter specifies the format in which the image data is stored on the video card. See the OpenGL specification for all possible values. If the data_format parameter is None (the default), an attempt is made to guess data_format according to the following description. For numpy arrays: If texel_data.shape is equal to the dimensions of the texture object, texel_data is assumed to contain luminance (grayscale) information and data_format is set to GL_LUMINANCE. If texel_data.shape is equal to one plus the dimensions of the texture object, texel_data is assumed to contain color information. If texel_data.shape[-1] is 3, this is assumed to be RGB data and data_format is set to GL_RGB. If, texel_data.shape[-1] is 4, this is assumed to be RGBA data and data_format is set to GL_RGBA. For PIL images: the "mode" attribute is queried. If the data_type parameter is None (the default), it is set to GL_UNSIGNED_BYTE. For numpy arrays: texel_data is (re)cast to UInt8 and, if it is a floating point type, values are assumed to be in the range 0.0-1.0 and are scaled to the range 0-255. If the data_type parameter is not None, the texel_data is not rescaled or recast. Currently only GL_UNSIGNED_BYTE is supported. For PIL images: texel_data is used as unsigned bytes. This is the usual format for common computer graphics files. </pre> <dl class="fields"> </dl> </td></tr></table> </div> <a name="put_sub_image"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">put_sub_image</span>(<span class="sig-arg">self</span>, <span class="sig-arg">texel_data</span>, <span class="sig-arg">mipmap_level</span>=<span class="sig-default">0</span>, <span class="sig-arg">offset_tuple</span>=<span class="sig-default">None</span>, <span class="sig-arg">data_format</span>=<span class="sig-default">None</span>, <span class="sig-arg">data_type</span>=<span class="sig-default">None</span>, <span class="sig-arg">cube_side</span>=<span class="sig-default">None</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.put_sub_image">source code</a></span> </td> </table> <pre class="literalblock"> Replace all or part of a texture object. This is faster that put_new_image(), and can be used to rapidly update textures. The offset_tuple parameter determines the lower left corner (for 2D textures) of your data in pixel units. For example, (0,0) would be no offset and thus the new data would be placed in the lower left of the texture. For an explanation of most parameters, see the put_new_image() method. </pre> <dl class="fields"> </dl> </td></tr></table> </div> <a name="put_new_framebuffer"></a> <div> <table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white"> <tr><td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr valign="top"><td> <h3 class="epydoc"><span class="sig"><span class="sig-name">put_new_framebuffer</span>(<span class="sig-arg">self</span>, <span class="sig-arg">buffer</span>=<span class="sig-default">'back'</span>, <span class="sig-arg">mipmap_level</span>=<span class="sig-default">0</span>, <span class="sig-arg">border</span>=<span class="sig-default">0</span>, <span class="sig-arg">framebuffer_lowerleft</span>=<span class="sig-default">None</span>, <span class="sig-arg">size</span>=<span class="sig-default">None</span>, <span class="sig-arg">internal_format</span>=<span class="sig-default">gl.GL_RGB</span>, <span class="sig-arg">cube_side</span>=<span class="sig-default">None</span>)</span> </h3> </td><td align="right" valign="top" ><span class="codelink"><a href="VisionEgg.Textures-pysrc.html#TextureObject.put_new_framebuffer">source code</a></span> </td> </table> <pre class="literalblock"> Replace texture object with the framebuffer contents. The framebuffer_lowerleft parameter determines the lower left corner of the framebuffer region from which to copy texel data in pixel units. For example, (0,0) would be no offset and thus the new data would be placed from the lower left of the framebuffer. For an explanation of most parameters, see the put_new_image() method. </pre> <dl class="fields"> </dl> </td></tr></table> </div> <br /> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Home link --> <th> <a href="VisionEgg-module.html">Home</a> </th> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <!-- Project homepage --> <th class="navbar" align="right" width="100%"> <table border="0" cellpadding="0" cellspacing="0"> <tr><th class="navbar" align="center" ><a class="navbar" target="_top" href="http://www.visionegg.org">Vision Egg</a></th> </tr></table></th> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%%"> <tr> <td align="left" class="footer"> Generated by Epydoc 3.0beta1 on Sat Jun 7 15:40:10 2008 </td> <td align="right" class="footer"> <a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a> </td> </tr> </table> <script type="text/javascript"> <!-- // Private objects are initially displayed (because if // javascript is turned off then we want them to be // visible); but by default, we want to hide them. So hide // them unless we have a cookie that says to show them. checkCookie() // --> </script> </body> </html>