<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crystal Space 1.2.1: iRenderBuffer Struct Reference (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <h1>iRenderBuffer Struct Reference<br> <small> [<a class="el" href="group__gfx3d.html">3D</a>]</small> </h1><!-- doxytag: class="iRenderBuffer" --><!-- doxytag: inherits="iBase" -->This is a general buffer. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="rndbuf_8h-source.html">ivideo/rndbuf.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for iRenderBuffer:</div> <div class="dynsection"> <p><center><img src="structiRenderBuffer__inherit__graph.png" border="0" usemap="#iRenderBuffer__inherit__map" alt="Inheritance graph"></center> <map name="iRenderBuffer__inherit__map"> <area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\< csRenderBuffer, iRenderBuffer \>" alt="" coords="397,5,776,32"><area shape="rect" href="classscfImplementation2.html" title="scfImplementation2\< CS::RenderBufferPersistent, iRenderBuffer, iRenderBufferPersistence \>" alt="" coords="271,56,903,83"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="5,31,61,57"><area shape="rect" href="classcsRenderBuffer.html" title="Render buffer - basic container for mesh geometry data." alt="" coords="952,5,1075,32"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="structiRenderBuffer-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#2da58b375797619667a7337ec7c95cc3">CopyInto</a> (const void *data, size_t elementCount, size_t elemOffset=0)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy data to the render buffer. <a href="#2da58b375797619667a7337ec7c95cc3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br> <a class="el" href="group__gfx3d.html#ge5b18d205d829115e359b43a81a963b4">csRenderBufferType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#18a6e3ed4a1de9784568bffb7ef98f52">GetBufferType</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get type of buffer (static/dynamic). <a href="#18a6e3ed4a1de9784568bffb7ef98f52"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#39e622dc64c4acc4a3ed2df051e10598">GetComponentCount</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the number of components per element. <a href="#39e622dc64c4acc4a3ed2df051e10598"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br> <a class="el" href="group__gfx3d.html#g2e793d8189bb8566ed81c168875f452b">csRenderBufferComponentType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#23e7848455338c7636d6a97e5a09c7c8">GetComponentType</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the component type (float, int, etc). <a href="#23e7848455338c7636d6a97e5a09c7c8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#2c43d2f649e4725a8e86abfa5dfbfffe">GetElementCount</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Number of elements in a buffer. <a href="#2c43d2f649e4725a8e86abfa5dfbfffe"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#77535f2913a88ee424d4bfe52e8a646d">GetElementDistance</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the distance between two elements (in bytes, includes stride). <a href="#77535f2913a88ee424d4bfe52e8a646d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiRenderBuffer.html">iRenderBuffer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#ccd6c11709e7907e31e38ba8b4a060d7">GetMasterBuffer</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the master buffer in case this is an interleaved buffer. <a href="#ccd6c11709e7907e31e38ba8b4a060d7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#527e690865e28a5f3fd8963e70a33fde">GetOffset</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the offset of the buffer (in bytes). <a href="#527e690865e28a5f3fd8963e70a33fde"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#f97a51260833f11509f91617d6fda0de">GetRangeEnd</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The highest index contained in this buffer, only valid for index buffers. <a href="#f97a51260833f11509f91617d6fda0de"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#acfc7003a6a831431e34dbaf49696563">GetRangeStart</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The lowest index contained in this buffer, only valid for index buffers. <a href="#acfc7003a6a831431e34dbaf49696563"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#f4ffdccb0f00259d47c117a69522bf53">GetSize</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the size of the buffer (in bytes). <a href="#f4ffdccb0f00259d47c117a69522bf53"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#af0df851f17cd16b1789a796a35508cf">GetStride</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the stride of the buffer (in bytes). <a href="#af0df851f17cd16b1789a796a35508cf"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#a72cd7b6378ba988426ab0a89d125229">GetVersion</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get version. <a href="#a72cd7b6378ba988426ab0a89d125229"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#4d5291d9681843605e04e9ce076307a2">IsIndexBuffer</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Whether the buffer is an index buffer. <a href="#4d5291d9681843605e04e9ce076307a2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#7c03d7a103a3b83597386caf3f3c5c3b">Lock</a> (<a class="el" href="group__gfx3d.html#g6415ede5d389a1c56c44ddbc924c8fdc">csRenderBufferLockType</a> lockType)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Lock the buffer to allow reading or writing to it directly. <a href="#7c03d7a103a3b83597386caf3f3c5c3b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#52455e929de9ca42c4e85be85b9075ae">Release</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Releases the buffer. <a href="#52455e929de9ca42c4e85be85b9075ae"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#828620a53fc1a26e18f07aaa3b9e73ec">SetCallback</a> (<a class="el" href="structiRenderBufferCallback.html">iRenderBufferCallback</a> *cb)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set callback object to use. <a href="#828620a53fc1a26e18f07aaa3b9e73ec"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="structiRenderBuffer.html#9a0f79d319266202eb4bcd7389cab755">SetData</a> (const void *data)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the buffer data. <a href="#9a0f79d319266202eb4bcd7389cab755"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This is a general buffer. <p> Main creators of instances implementing this interface:<ul> <li><a class="el" href="classcsRenderBuffer.html#086168dc988e839906af0d2cca953db7" title="Create a render buffer.">csRenderBuffer::CreateRenderBuffer()</a></li><li><a class="el" href="classcsRenderBuffer.html#e3985e043bc052d022b00195d269c30a" title="Create an index buffer.">csRenderBuffer::CreateIndexRenderBuffer()</a></li><li><a class="el" href="classcsRenderBuffer.html#c9ad483adeaec3e274a289335da2ecdc" title="Create an interleaved renderbuffer (You would use this then set stride to determine...">csRenderBuffer::CreateInterleavedRenderBuffers()</a></li></ul> <p> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classcsRenderBuffer.html" title="Render buffer - basic container for mesh geometry data.">csRenderBuffer</a> </dd></dl> <p>Definition at line <a class="el" href="rndbuf_8h-source.html#l00141">141</a> of file <a class="el" href="rndbuf_8h-source.html">rndbuf.h</a>.</p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="2da58b375797619667a7337ec7c95cc3"></a><!-- doxytag: member="iRenderBuffer::CopyInto" ref="2da58b375797619667a7337ec7c95cc3" args="(const void *data, size_t elementCount, size_t elemOffset=0)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iRenderBuffer::CopyInto </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>elementCount</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>elemOffset</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Copy data to the render buffer. <p> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Do not call on a locked buffer. Does not work with interleaved buffer, copy to master buffer instead. </dd></dl> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#436deb746bef8c3127aa978a4c719199">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="18a6e3ed4a1de9784568bffb7ef98f52"></a><!-- doxytag: member="iRenderBuffer::GetBufferType" ref="18a6e3ed4a1de9784568bffb7ef98f52" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="group__gfx3d.html#ge5b18d205d829115e359b43a81a963b4">csRenderBufferType</a> iRenderBuffer::GetBufferType </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get type of buffer (static/dynamic). <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#678cf41b3b28afecadbbd9f069474569">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="39e622dc64c4acc4a3ed2df051e10598"></a><!-- doxytag: member="iRenderBuffer::GetComponentCount" ref="39e622dc64c4acc4a3ed2df051e10598" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int iRenderBuffer::GetComponentCount </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the number of components per element. <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#9ef0b716aafb2621d75db69e954a332e">csRenderBuffer</a>.</p> <p>Referenced by <a class="el" href="vertexlistwalker_8h-source.html#l00055">csVertexListWalker< Tbase, Tcomplex >::csVertexListWalker()</a>.</p> </div> </div><p> <a class="anchor" name="23e7848455338c7636d6a97e5a09c7c8"></a><!-- doxytag: member="iRenderBuffer::GetComponentType" ref="23e7848455338c7636d6a97e5a09c7c8" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="group__gfx3d.html#g2e793d8189bb8566ed81c168875f452b">csRenderBufferComponentType</a> iRenderBuffer::GetComponentType </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the component type (float, int, etc). <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#a7f47a648af24558d2bed04ff603cfae">csRenderBuffer</a>.</p> <p>Referenced by <a class="el" href="trianglestream_8h-source.html#l00181">CS::TriangleIndicesStream< T >::BeginTriangulate()</a>, and <a class="el" href="vertexlistwalker_8h-source.html#l00055">csVertexListWalker< Tbase, Tcomplex >::csVertexListWalker()</a>.</p> </div> </div><p> <a class="anchor" name="2c43d2f649e4725a8e86abfa5dfbfffe"></a><!-- doxytag: member="iRenderBuffer::GetElementCount" ref="2c43d2f649e4725a8e86abfa5dfbfffe" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t iRenderBuffer::GetElementCount </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Number of elements in a buffer. <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#097fca3c99143d29bdd339663f9517ba">csRenderBuffer</a>.</p> <p>Referenced by <a class="el" href="trianglestream_8h-source.html#l00181">CS::TriangleIndicesStream< T >::BeginTriangulate()</a>, <a class="el" href="rbuflock_8h-source.html#l00116">csRenderBufferLock< unsigned char >::csRenderBufferLock()</a>, and <a class="el" href="vertexlistwalker_8h-source.html#l00055">csVertexListWalker< Tbase, Tcomplex >::csVertexListWalker()</a>.</p> </div> </div><p> <a class="anchor" name="77535f2913a88ee424d4bfe52e8a646d"></a><!-- doxytag: member="iRenderBuffer::GetElementDistance" ref="77535f2913a88ee424d4bfe52e8a646d" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t iRenderBuffer::GetElementDistance </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the distance between two elements (in bytes, includes stride). <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#5b102d909ea1a0daf28aa70918986a0a">csRenderBuffer</a>.</p> <p>Referenced by <a class="el" href="trianglestream_8h-source.html#l00181">CS::TriangleIndicesStream< T >::BeginTriangulate()</a>.</p> </div> </div><p> <a class="anchor" name="ccd6c11709e7907e31e38ba8b4a060d7"></a><!-- doxytag: member="iRenderBuffer::GetMasterBuffer" ref="ccd6c11709e7907e31e38ba8b4a060d7" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="structiRenderBuffer.html">iRenderBuffer</a>* iRenderBuffer::GetMasterBuffer </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the master buffer in case this is an interleaved buffer. <p> The master buffer is the buffer that actually holds the data; while it can be used to retrieve or set data, it must not be used for actual rendering. Use the interleaved buffers instead. <p>Implemented in <a class="el" href="classcsRenderBuffer.html#3e9297f60847d14356f4b99ed275e378">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="527e690865e28a5f3fd8963e70a33fde"></a><!-- doxytag: member="iRenderBuffer::GetOffset" ref="527e690865e28a5f3fd8963e70a33fde" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t iRenderBuffer::GetOffset </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the offset of the buffer (in bytes). <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#6d20d5a23e566d7705f5fe2d2be3944c">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="f97a51260833f11509f91617d6fda0de"></a><!-- doxytag: member="iRenderBuffer::GetRangeEnd" ref="f97a51260833f11509f91617d6fda0de" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t iRenderBuffer::GetRangeEnd </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> The highest index contained in this buffer, only valid for index buffers. <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#d6ff45db45621deddbc0ac220e3ab1ea">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="acfc7003a6a831431e34dbaf49696563"></a><!-- doxytag: member="iRenderBuffer::GetRangeStart" ref="acfc7003a6a831431e34dbaf49696563" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t iRenderBuffer::GetRangeStart </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> The lowest index contained in this buffer, only valid for index buffers. <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#c9c52a734a1b292edde25d428f6fea1f">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="f4ffdccb0f00259d47c117a69522bf53"></a><!-- doxytag: member="iRenderBuffer::GetSize" ref="f4ffdccb0f00259d47c117a69522bf53" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t iRenderBuffer::GetSize </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the size of the buffer (in bytes). <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#9ee78879570168bd102e7597f7d4ba36">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="af0df851f17cd16b1789a796a35508cf"></a><!-- doxytag: member="iRenderBuffer::GetStride" ref="af0df851f17cd16b1789a796a35508cf" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t iRenderBuffer::GetStride </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the stride of the buffer (in bytes). <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#fdaef8516373a534381edf5ce99fe6a0">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="a72cd7b6378ba988426ab0a89d125229"></a><!-- doxytag: member="iRenderBuffer::GetVersion" ref="a72cd7b6378ba988426ab0a89d125229" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> iRenderBuffer::GetVersion </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get version. <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#9c8ef4b9a533d75e5d2cc081bf10b43b">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="4d5291d9681843605e04e9ce076307a2"></a><!-- doxytag: member="iRenderBuffer::IsIndexBuffer" ref="4d5291d9681843605e04e9ce076307a2" args="() const =0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool iRenderBuffer::IsIndexBuffer </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Whether the buffer is an index buffer. <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#6716d1a72bff4449bfd6bfb48f608e55">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="7c03d7a103a3b83597386caf3f3c5c3b"></a><!-- doxytag: member="iRenderBuffer::Lock" ref="7c03d7a103a3b83597386caf3f3c5c3b" args="(csRenderBufferLockType lockType)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void* iRenderBuffer::Lock </td> <td>(</td> <td class="paramtype"><a class="el" href="group__gfx3d.html#g6415ede5d389a1c56c44ddbc924c8fdc">csRenderBufferLockType</a> </td> <td class="paramname"> <em>lockType</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Lock the buffer to allow reading or writing to it directly. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>lockType</em> </td><td>The type of lock desired. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the first element or (void*)-1 if there was some error. </dd></dl> <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>After the data was used as desired <a class="el" href="structiRenderBuffer.html#52455e929de9ca42c4e85be85b9075ae" title="Releases the buffer.">Release()</a> <b>must</b> be called. </dd></dl> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#ac201ab5b72a26fa64fc500337ed5560">csRenderBuffer</a>.</p> <p>Referenced by <a class="el" href="trianglestream_8h-source.html#l00181">CS::TriangleIndicesStream< T >::BeginTriangulate()</a>.</p> </div> </div><p> <a class="anchor" name="52455e929de9ca42c4e85be85b9075ae"></a><!-- doxytag: member="iRenderBuffer::Release" ref="52455e929de9ca42c4e85be85b9075ae" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iRenderBuffer::Release </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Releases the buffer. <p> After this all access to the buffer pointer is illegal. <p>Implemented in <a class="el" href="classcsRenderBuffer.html#83d05cf4586dcffbc6cec05e632957ff">csRenderBuffer</a>.</p> <p>Referenced by <a class="el" href="trianglestream_8h-source.html#l00134">CS::TriangleIndicesStream< T >::~TriangleIndicesStream()</a>.</p> </div> </div><p> <a class="anchor" name="828620a53fc1a26e18f07aaa3b9e73ec"></a><!-- doxytag: member="iRenderBuffer::SetCallback" ref="828620a53fc1a26e18f07aaa3b9e73ec" args="(iRenderBufferCallback *cb)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iRenderBuffer::SetCallback </td> <td>(</td> <td class="paramtype"><a class="el" href="structiRenderBufferCallback.html">iRenderBufferCallback</a> * </td> <td class="paramname"> <em>cb</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set callback object to use. <p> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#84849ceac263f55aa6359175e823a917">csRenderBuffer</a>.</p> </div> </div><p> <a class="anchor" name="9a0f79d319266202eb4bcd7389cab755"></a><!-- doxytag: member="iRenderBuffer::SetData" ref="9a0f79d319266202eb4bcd7389cab755" args="(const void *data)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void iRenderBuffer::SetData </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>data</em> </td> <td> ) </td> <td width="100%"><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the buffer data. <p> This changes the internal pointer to the buffer data to <em>buffer</em> instead. It will also be returned by <a class="el" href="structiRenderBuffer.html#7c03d7a103a3b83597386caf3f3c5c3b" title="Lock the buffer to allow reading or writing to it directly.">Lock()</a>. It is the responsibility of the caller to ensure that the memory pointed to by <em>data</em> is valid for as long as the render buffer is used. <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Do not call on a locked buffer. Does not work with interleaved buffer, set data on master buffer instead. </dd></dl> <p>Implemented in <a class="el" href="classcsRenderBuffer.html#91953b37414064b6bc2aa156ad84f5d5">csRenderBuffer</a>.</p> </div> </div><p> <hr>The documentation for this struct was generated from the following file:<ul> <li>ivideo/<a class="el" href="rndbuf_8h-source.html">rndbuf.h</a></ul> <hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>