Subversion Repositories AndroidProjects

Rev

Blame | Last modification | View Log | RSS feed

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_17) on Sun Nov 03 15:35:46 CET 2013 -->
<title>VertexBufferObject (libgdx API)</title>
<meta name="date" content="2013-11-03">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
   if (location.href.indexOf('is-external=true') == -1) {
       parent.document.title="VertexBufferObject (libgdx API)";
   }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/VertexBufferObject.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>
                                libgdx API
                                <style>
                                body, td, th { font-family:Helvetica, Tahoma, Arial, sans-serif; font-size:10pt }
                                pre, code, tt { font-size:9pt; font-family:Lucida Console, Courier New, sans-serif }
                                h1, h2, h3, .FrameTitleFont, .FrameHeadingFont, .TableHeadingColor font { font-size:105%;  font-weight:bold }
                                .TableHeadingColor { background:#EEEEFF; }
                                a { text-decoration:none }
                                a:hover { text-decoration:underline }
                                a:link, a:visited { color:blue }
                                table { border:0px }
                                .TableRowColor td:first-child { border-left:1px solid black }
                                .TableRowColor td { border:0px; border-bottom:1px solid black; border-right:1px solid black }
                                hr { border:0px; border-bottom:1px solid #333366; }
                                </style>
                        </em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexArray.html" title="class in com.badlogic.gdx.graphics.glutils"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObjectSubData.html" title="class in com.badlogic.gdx.graphics.glutils"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/badlogic/gdx/graphics/glutils/VertexBufferObject.html" target="_top">Frames</a></li>
<li><a href="VertexBufferObject.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
 allClassesLink = document.getElementById("allclasses_navbar_top");
 if(window==top) {
   allClassesLink.style.display = "block";
 }
 else {
   allClassesLink.style.display = "none";
 }
 //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.badlogic.gdx.graphics.glutils</div>
<h2 title="Class VertexBufferObject" class="title">Class VertexBufferObject</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.badlogic.gdx.graphics.glutils.VertexBufferObject</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a>, <a href="../../../../../com/badlogic/gdx/utils/Disposable.html" title="interface in com.badlogic.gdx.utils">Disposable</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">VertexBufferObject</span>
extends java.lang.Object
implements <a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></pre>
<div class="block"><p>
 A <a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils"><code>VertexData</code></a> implementation based on OpenGL vertex buffer objects.
 </p>
 
 <p>
 If the OpenGL ES context was lost you can call <a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#invalidate()"><code>invalidate()</code></a> to recreate a new OpenGL vertex buffer object. This class
 can be used seamlessly with OpenGL ES 1.x and 2.0.
 </p>
 
 <p>
 In case OpenGL ES 2.0 is used in the application the data is bound via glVertexAttribPointer() according to the attribute
 aliases specified via <a href="../../../../../com/badlogic/gdx/graphics/VertexAttributes.html" title="class in com.badlogic.gdx.graphics"><code>VertexAttributes</code></a> in the constructor.
 </p>
 
 <p>
 Uses indirect Buffers on Android 1.5/1.6 to fix GC invocation due to leaking PlatformAddress instances.
 </p>
 
 <p>
 VertexBufferObjects must be disposed via the <a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#dispose()"><code>dispose()</code></a> method when no longer needed
 </p></div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>mzechner, Dave Clayton <contact@redskyforge.com></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#VertexBufferObject(boolean, int, com.badlogic.gdx.graphics.VertexAttribute...)">VertexBufferObject</a></strong>(boolean&nbsp;isStatic,
                  int&nbsp;numVertices,
                  <a href="../../../../../com/badlogic/gdx/graphics/VertexAttribute.html" title="class in com.badlogic.gdx.graphics">VertexAttribute</a>...&nbsp;attributes)</code>
<div class="block">Constructs a new interleaved VertexBufferObject.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#VertexBufferObject(boolean, int, com.badlogic.gdx.graphics.VertexAttributes)">VertexBufferObject</a></strong>(boolean&nbsp;isStatic,
                  int&nbsp;numVertices,
                  <a href="../../../../../com/badlogic/gdx/graphics/VertexAttributes.html" title="class in com.badlogic.gdx.graphics">VertexAttributes</a>&nbsp;attributes)</code>
<div class="block">Constructs a new interleaved VertexBufferObject.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#bind()">bind</a></strong>()</code>
<div class="block">Binds this VertexData for rendering via glDrawArrays or glDrawElements.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#bind(com.badlogic.gdx.graphics.glutils.ShaderProgram)">bind</a></strong>(<a href="../../../../../com/badlogic/gdx/graphics/glutils/ShaderProgram.html" title="class in com.badlogic.gdx.graphics.glutils">ShaderProgram</a>&nbsp;shader)</code>
<div class="block">Binds this VertexBufferObject for rendering via glDrawArrays or glDrawElements</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#bind(com.badlogic.gdx.graphics.glutils.ShaderProgram, int[])">bind</a></strong>(<a href="../../../../../com/badlogic/gdx/graphics/glutils/ShaderProgram.html" title="class in com.badlogic.gdx.graphics.glutils">ShaderProgram</a>&nbsp;shader,
    int[]&nbsp;locations)</code>
<div class="block">Binds this VertexData for rendering via glDrawArrays or glDrawElements.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#dispose()">dispose</a></strong>()</code>
<div class="block">Disposes of all resources this VertexBufferObject uses.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../com/badlogic/gdx/graphics/VertexAttributes.html" title="class in com.badlogic.gdx.graphics">VertexAttributes</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#getAttributes()">getAttributes</a></strong>()</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.nio.FloatBuffer</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#getBuffer()">getBuffer</a></strong>()</code>
<div class="block">
 Returns the underlying FloatBuffer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#getNumMaxVertices()">getNumMaxVertices</a></strong>()</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#getNumVertices()">getNumVertices</a></strong>()</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#invalidate()">invalidate</a></strong>()</code>
<div class="block">Invalidates the VertexBufferObject so a new OpenGL buffer handle is created.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#setVertices(float[], int, int)">setVertices</a></strong>(float[]&nbsp;vertices,
           int&nbsp;offset,
           int&nbsp;count)</code>
<div class="block">
 Sets the vertices of this VertexData, discarding the old vertex data.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#unbind()">unbind</a></strong>()</code>
<div class="block">Unbinds this VertexData.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#unbind(com.badlogic.gdx.graphics.glutils.ShaderProgram)">unbind</a></strong>(<a href="../../../../../com/badlogic/gdx/graphics/glutils/ShaderProgram.html" title="class in com.badlogic.gdx.graphics.glutils">ShaderProgram</a>&nbsp;shader)</code>
<div class="block">Unbinds this VertexBufferObject.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObject.html#unbind(com.badlogic.gdx.graphics.glutils.ShaderProgram, int[])">unbind</a></strong>(<a href="../../../../../com/badlogic/gdx/graphics/glutils/ShaderProgram.html" title="class in com.badlogic.gdx.graphics.glutils">ShaderProgram</a>&nbsp;shader,
      int[]&nbsp;locations)</code>
<div class="block">Unbinds this VertexData.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="VertexBufferObject(boolean, int, com.badlogic.gdx.graphics.VertexAttribute...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>VertexBufferObject</h4>
<pre>public&nbsp;VertexBufferObject(boolean&nbsp;isStatic,
                  int&nbsp;numVertices,
                  <a href="../../../../../com/badlogic/gdx/graphics/VertexAttribute.html" title="class in com.badlogic.gdx.graphics">VertexAttribute</a>...&nbsp;attributes)</pre>
<div class="block">Constructs a new interleaved VertexBufferObject.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>isStatic</code> - whether the vertex data is static.</dd><dd><code>numVertices</code> - the maximum number of vertices</dd><dd><code>attributes</code> - the <a href="../../../../../com/badlogic/gdx/graphics/VertexAttribute.html" title="class in com.badlogic.gdx.graphics"><code>VertexAttribute</code></a>s.</dd></dl>
</li>
</ul>
<a name="VertexBufferObject(boolean, int, com.badlogic.gdx.graphics.VertexAttributes)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>VertexBufferObject</h4>
<pre>public&nbsp;VertexBufferObject(boolean&nbsp;isStatic,
                  int&nbsp;numVertices,
                  <a href="../../../../../com/badlogic/gdx/graphics/VertexAttributes.html" title="class in com.badlogic.gdx.graphics">VertexAttributes</a>&nbsp;attributes)</pre>
<div class="block">Constructs a new interleaved VertexBufferObject.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>isStatic</code> - whether the vertex data is static.</dd><dd><code>numVertices</code> - the maximum number of vertices</dd><dd><code>attributes</code> - the <a href="../../../../../com/badlogic/gdx/graphics/VertexAttributes.html" title="class in com.badlogic.gdx.graphics"><code>VertexAttributes</code></a>.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getAttributes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributes</h4>
<pre>public&nbsp;<a href="../../../../../com/badlogic/gdx/graphics/VertexAttributes.html" title="class in com.badlogic.gdx.graphics">VertexAttributes</a>&nbsp;getAttributes()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#getAttributes()">getAttributes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the <a href="../../../../../com/badlogic/gdx/graphics/VertexAttributes.html" title="class in com.badlogic.gdx.graphics"><code>VertexAttributes</code></a> as specified during construction.</dd></dl>
</li>
</ul>
<a name="getNumVertices()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumVertices</h4>
<pre>public&nbsp;int&nbsp;getNumVertices()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#getNumVertices()">getNumVertices</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the number of vertices this VertexData stores</dd></dl>
</li>
</ul>
<a name="getNumMaxVertices()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumMaxVertices</h4>
<pre>public&nbsp;int&nbsp;getNumMaxVertices()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#getNumMaxVertices()">getNumMaxVertices</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the number of vertices this VertedData can store</dd></dl>
</li>
</ul>
<a name="getBuffer()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBuffer</h4>
<pre>public&nbsp;java.nio.FloatBuffer&nbsp;getBuffer()</pre>
<div class="block"><p>
 Returns the underlying FloatBuffer. If you modify the buffer contents they will be uploaded on the next call to
 <a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#bind()"><code>VertexData.bind()</code></a>. If you need immediate uploading use <a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#setVertices(float[], int, int)"><code>VertexData.setVertices(float[], int, int)</code></a>;
 </p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#getBuffer()">getBuffer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the underlying FloatBuffer holding the vertex data.</dd></dl>
</li>
</ul>
<a name="setVertices(float[], int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVertices</h4>
<pre>public&nbsp;void&nbsp;setVertices(float[]&nbsp;vertices,
               int&nbsp;offset,
               int&nbsp;count)</pre>
<div class="block"><p>
 Sets the vertices of this VertexData, discarding the old vertex data. The count must equal the number of floats per vertex
 times the number of vertices to be copied to this VertexData. The order of the vertex attributes must be the same as
 specified at construction time via <a href="../../../../../com/badlogic/gdx/graphics/VertexAttributes.html" title="class in com.badlogic.gdx.graphics"><code>VertexAttributes</code></a>.
 </p>
 
 <p>
 This can be called in between calls to <a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#bind()"><code>VertexData.bind()</code></a> and <a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#unbind()"><code>VertexData.unbind()</code></a>. The vertex data will be updated instantly.
 </p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#setVertices(float[], int, int)">setVertices</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>vertices</code> - the vertex data</dd><dd><code>offset</code> - the offset to start copying the data from</dd><dd><code>count</code> - the number of floats to copy</dd></dl>
</li>
</ul>
<a name="bind()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bind</h4>
<pre>public&nbsp;void&nbsp;bind()</pre>
<div class="block">Binds this VertexData for rendering via glDrawArrays or glDrawElements.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#bind()">bind</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
</dl>
</li>
</ul>
<a name="bind(com.badlogic.gdx.graphics.glutils.ShaderProgram)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bind</h4>
<pre>public&nbsp;void&nbsp;bind(<a href="../../../../../com/badlogic/gdx/graphics/glutils/ShaderProgram.html" title="class in com.badlogic.gdx.graphics.glutils">ShaderProgram</a>&nbsp;shader)</pre>
<div class="block">Binds this VertexBufferObject for rendering via glDrawArrays or glDrawElements</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#bind(com.badlogic.gdx.graphics.glutils.ShaderProgram)">bind</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>shader</code> - the shader</dd></dl>
</li>
</ul>
<a name="bind(com.badlogic.gdx.graphics.glutils.ShaderProgram, int[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bind</h4>
<pre>public&nbsp;void&nbsp;bind(<a href="../../../../../com/badlogic/gdx/graphics/glutils/ShaderProgram.html" title="class in com.badlogic.gdx.graphics.glutils">ShaderProgram</a>&nbsp;shader,
        int[]&nbsp;locations)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#bind(com.badlogic.gdx.graphics.glutils.ShaderProgram, int[])">VertexData</a></code></strong></div>
<div class="block">Binds this VertexData for rendering via glDrawArrays or glDrawElements.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#bind(com.badlogic.gdx.graphics.glutils.ShaderProgram, int[])">bind</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
<dd><code>locations</code> - array containing the attribute locations.</dd></dl>
</li>
</ul>
<a name="unbind()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unbind</h4>
<pre>public&nbsp;void&nbsp;unbind()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#unbind()">VertexData</a></code></strong></div>
<div class="block">Unbinds this VertexData.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#unbind()">unbind</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
</dl>
</li>
</ul>
<a name="unbind(com.badlogic.gdx.graphics.glutils.ShaderProgram)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unbind</h4>
<pre>public&nbsp;void&nbsp;unbind(<a href="../../../../../com/badlogic/gdx/graphics/glutils/ShaderProgram.html" title="class in com.badlogic.gdx.graphics.glutils">ShaderProgram</a>&nbsp;shader)</pre>
<div class="block">Unbinds this VertexBufferObject.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#unbind(com.badlogic.gdx.graphics.glutils.ShaderProgram)">unbind</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>shader</code> - the shader</dd></dl>
</li>
</ul>
<a name="unbind(com.badlogic.gdx.graphics.glutils.ShaderProgram, int[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unbind</h4>
<pre>public&nbsp;void&nbsp;unbind(<a href="../../../../../com/badlogic/gdx/graphics/glutils/ShaderProgram.html" title="class in com.badlogic.gdx.graphics.glutils">ShaderProgram</a>&nbsp;shader,
          int[]&nbsp;locations)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#unbind(com.badlogic.gdx.graphics.glutils.ShaderProgram, int[])">VertexData</a></code></strong></div>
<div class="block">Unbinds this VertexData.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#unbind(com.badlogic.gdx.graphics.glutils.ShaderProgram, int[])">unbind</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
<dd><code>locations</code> - array containing the attribute locations.</dd></dl>
</li>
</ul>
<a name="invalidate()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invalidate</h4>
<pre>public&nbsp;void&nbsp;invalidate()</pre>
<div class="block">Invalidates the VertexBufferObject so a new OpenGL buffer handle is created. Use this in case of a context loss.</div>
</li>
</ul>
<a name="dispose()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>dispose</h4>
<pre>public&nbsp;void&nbsp;dispose()</pre>
<div class="block">Disposes of all resources this VertexBufferObject uses.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html#dispose()">dispose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexData.html" title="interface in com.badlogic.gdx.graphics.glutils">VertexData</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/badlogic/gdx/utils/Disposable.html#dispose()">dispose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/badlogic/gdx/utils/Disposable.html" title="interface in com.badlogic.gdx.utils">Disposable</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/VertexBufferObject.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>libgdx API</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexArray.html" title="class in com.badlogic.gdx.graphics.glutils"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../com/badlogic/gdx/graphics/glutils/VertexBufferObjectSubData.html" title="class in com.badlogic.gdx.graphics.glutils"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/badlogic/gdx/graphics/glutils/VertexBufferObject.html" target="_top">Frames</a></li>
<li><a href="VertexBufferObject.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
 allClassesLink = document.getElementById("allclasses_navbar_bottom");
 if(window==top) {
   allClassesLink.style.display = "block";
 }
 else {
   allClassesLink.style.display = "none";
 }
 //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>
                                <div style="font-size:9pt"><i>
                                Copyright &copy; 2010-2013 Mario Zechner (contact@badlogicgames.com), Nathan Sweet (admin@esotericsoftware.com)
                                </i></div>
                        </small></p>
</body>
</html>