/** * @param array * @see com.jogamp.opengl.GL2ES3#glBindVertexArray(int) */ public void glBindVertexArray(int array) { try{delegate.glBindVertexArray(array);} catch(GLException e){glException(e); throw e;} } /**
@Override public void renderNonIndexed(int glVertexArray, int mode, int numVertices) { gl.glBindVertexArray(glVertexArray); gl.glDrawArrays(mode, 0, numVertices); }
@Override public void updateVertexAttribute(int glVertexArray, int target, int glBufferView, int offset, int size, ByteBuffer data) { gl.glBindVertexArray(glVertexArray); gl.glBindBuffer(target, glBufferView); gl.glBufferSubData(target, offset, size, data); }
@Override public void glBindVertexArray(int array) { GLContext.getCurrentGL().getGL3().glBindVertexArray(array); }
public void unbind() { getGL().getGL3().glBindVertexArray(0); }
@Override public void renderIndexed( int glVertexArray, int mode, int glIndicesBuffer, int numIndices, int indicesType, int offset) { gl.glBindVertexArray(glVertexArray); gl.glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, glIndicesBuffer); gl.glDrawElements(mode, numIndices, indicesType, offset); }
@Override public void createVertexAttribute(int glVertexArray, int target, int glBufferView, int attributeLocation, int size, int type, int stride, int offset) { gl.glBindVertexArray(glVertexArray); gl.glBindBuffer(target, glBufferView); gl.glVertexAttribPointer( attributeLocation, size, type, false, stride, offset); gl.glEnableVertexAttribArray(attributeLocation); }
public void bind() { getGL().getGL3().glBindVertexArray(getId()); }
@Override public void display(GLAutoDrawable glAutoDrawable) { GL3 gl = glAutoDrawable.getGL().getGL3(); gl.glClear(GL3.GL_DEPTH_BUFFER_BIT | GL3.GL_COLOR_BUFFER_BIT); gl.glUseProgram(program) gl.glBindVertexArray(vertexArray.get(0)); gl.glDrawArrays(GL.GL_TRIANGLES, 0, 6) }
public void updateIndices(IntBuffer pIndexBuffer) { if (!isDynamic()) throw new UnsupportedOperationException("Cannot update non dynamic buffers!"); mStoredIndexCount = pIndexBuffer.remaining(); getGL().getGL3().glBindVertexArray(mVertexArrayObject[0]); getGL().glBindBuffer(GL.GL_ELEMENT_ARRAY_BUFFER, mIndexBuffer[0]); getGL().glBufferSubData(GL.GL_ELEMENT_ARRAY_BUFFER, 0, pIndexBuffer.limit() * (Integer.SIZE / Byte.SIZE), pIndexBuffer); getGL().getGL3().glBindVertexArray(0); getGL().glBindBuffer(GL.GL_ELEMENT_ARRAY_BUFFER, 0); }
public void setIndicesAndCreateBuffer(IntBuffer pIndexBuffer) { mStoredIndexCount = pIndexBuffer.remaining(); getGL().getGL3().glBindVertexArray(mVertexArrayObject[0]); getGL().glBindBuffer(GL.GL_ELEMENT_ARRAY_BUFFER, mIndexBuffer[0]); getGL().glBufferData(GL.GL_ELEMENT_ARRAY_BUFFER, pIndexBuffer.limit() * (Integer.SIZE / Byte.SIZE), pIndexBuffer, isDynamic() ? GL.GL_DYNAMIC_DRAW : GL.GL_STATIC_DRAW); getGL().getGL3().glBindVertexArray(0); getGL().glBindBuffer(GL.GL_ELEMENT_ARRAY_BUFFER, 0); }
public void updateNormals(FloatBuffer pNormalBuffer) { if (!isDynamic()) throw new UnsupportedOperationException("Cannot update non dynamic buffers!"); getGL().getGL3().glBindVertexArray(mVertexArrayObject[0]); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, mVertexBuffers[1]); getGL().getGL3().glEnableVertexAttribArray(1); getGL().glBufferSubData(GL.GL_ARRAY_BUFFER, 0, pNormalBuffer.limit() * (Float.SIZE / Byte.SIZE), pNormalBuffer); getGL().getGL3().glVertexAttribPointer(1, mGeometrySize, GL.GL_FLOAT, false, 0, 0); getGL().getGL3().glBindVertexArray(0); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, 0); }
getGL().getGL3().glBindVertexArray(mVertexArrayObject[0]); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, mVertexBuffers[mVertexBuffers.length - 1]); 0); getGL().getGL3().glBindVertexArray(0); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, 0);
public void setTextureCoordsAndCreateBuffer(FloatBuffer pTextureCoordsBuffer) { getGL().getGL3().glBindVertexArray(mVertexArrayObject[0]); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, mVertexBuffers[2]); getGL().getGL3().glEnableVertexAttribArray(2); getGL().glBufferData(GL.GL_ARRAY_BUFFER, pTextureCoordsBuffer.limit() * (Float.SIZE / Byte.SIZE), pTextureCoordsBuffer, isDynamic() ? GL.GL_DYNAMIC_DRAW : GL.GL_STATIC_DRAW); getGL().getGL3().glVertexAttribPointer(2, mTextureCoordSize, GL.GL_FLOAT, false, 0, 0); getGL().getGL3().glBindVertexArray(0); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, 0); }
public void updateVertices(FloatBuffer pVertexBuffer) { mStoredPrimitiveCount = pVertexBuffer.remaining() / mGeometrySize; if (!isDynamic()) throw new UnsupportedOperationException("Cannot update non dynamic buffers!"); getGL().getGL3().glBindVertexArray(mVertexArrayObject[0]); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, mVertexBuffers[0]); getGL().getGL3().glEnableVertexAttribArray(0); getGL().glBufferData(GL.GL_ARRAY_BUFFER, pVertexBuffer.limit() * (Float.SIZE / Byte.SIZE), pVertexBuffer, isDynamic() ? GL.GL_DYNAMIC_DRAW : GL.GL_STATIC_DRAW); getGL().getGL3().glVertexAttribPointer(0, mGeometrySize, GL.GL_FLOAT, false, 0, 0); getGL().getGL3().glBindVertexArray(0); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, 0); }
public void setNormalsAndCreateBuffer(FloatBuffer pNormalBuffer) { getGL().getGL3().glBindVertexArray(mVertexArrayObject[0]); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, mVertexBuffers[1]); getGL().getGL3().glEnableVertexAttribArray(1); getGL().glBufferData(GL.GL_ARRAY_BUFFER, pNormalBuffer.limit() * (Float.SIZE / Byte.SIZE), pNormalBuffer, isDynamic() ? GL.GL_DYNAMIC_DRAW : GL.GL_STATIC_DRAW); getGL().getGL3().glVertexAttribPointer(1, mGeometrySize, GL.GL_FLOAT, false, 0, 0); getGL().getGL3().glBindVertexArray(0); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, 0); }
mGL.getGL3().glBindVertexArray(ui_vao[0]); mGL.getGL3().glGenBuffers(3, ui_vbo, 0);
public void setVerticesAndCreateBuffer(FloatBuffer pVertexBuffer) { mStoredPrimitiveCount = pVertexBuffer.remaining() / mGeometrySize; getGL().getGL3().glBindVertexArray(mVertexArrayObject[0]); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, mVertexBuffers[0]); getGL().getGL3().glEnableVertexAttribArray(0); getGL().glBufferData(GL.GL_ARRAY_BUFFER, pVertexBuffer.limit() * (Float.SIZE / Byte.SIZE), pVertexBuffer, isDynamic() ? GL.GL_DYNAMIC_DRAW : GL.GL_STATIC_DRAW); getGL().getGL3().glVertexAttribPointer(0, mGeometrySize, GL.GL_FLOAT, false, 0, 0); getGL().getGL3().glBindVertexArray(0); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, 0); }
public void updateTextureCoords(FloatBuffer pTextureCoordsBuffer) { if (!isDynamic()) throw new UnsupportedOperationException("Cannot update non dynamic buffers!"); getGL().getGL3().glBindVertexArray(mVertexArrayObject[0]); GLError.printGLErrors(getGL(), "1"); getGL().getGL3().glBindBuffer(GL.GL_ARRAY_BUFFER, mVertexBuffers[2]); GLError.printGLErrors(getGL(), "2"); getGL().getGL3().glEnableVertexAttribArray(2); GLError.printGLErrors(getGL(), "3"); getGL().glBufferSubData(GL.GL_ARRAY_BUFFER, 0, pTextureCoordsBuffer.limit() * (Float.SIZE / Byte.SIZE), pTextureCoordsBuffer); GLError.printGLErrors(getGL(), "4"); getGL().getGL3().glVertexAttribPointer(2, mTextureCoordSize, GL.GL_FLOAT, false, 0, 0); GLError.printGLErrors(getGL(), "5"); getGL().getGL3().glBindVertexArray(0); GLError.printGLErrors(getGL(), "6"); getGL().glBindBuffer(GL.GL_ARRAY_BUFFER, 0); GLError.printGLErrors(getGL(), "7"); }
public void draw(int pOffset, int pCount) { mGLProgram.use(getGL()); if (mModelViewMatrix != null) mGLProgram.getUniform("modelview").setFloatMatrix( mModelViewMatrix.getFloatArray(), false); if (mProjectionMatrix != null) mGLProgram.getUniform("projection").setFloatMatrix( mProjectionMatrix.getFloatArray(), false); getGL().getGL3().glBindVertexArray(mVertexArrayObject[0]); if (mStoredIndexCount > 0) { getGL().glBindBuffer(GL.GL_ELEMENT_ARRAY_BUFFER, mIndexBuffer[0]); getGL().glDrawElements(mGeometryType, pCount, GL.GL_UNSIGNED_INT, pOffset); getGL().glBindBuffer(GL.GL_ELEMENT_ARRAY_BUFFER, 0); } else { getGL().glDrawArrays(mGeometryType, pOffset, pCount); } getGL().getGL3().glUseProgram(0); }