List of usage examples for com.google.gwt.corp.webgl.client WebGL GL_ARRAY_BUFFER
int GL_ARRAY_BUFFER
To view the source code for com.google.gwt.corp.webgl.client WebGL GL_ARRAY_BUFFER.
Click Source Link
From source file:jake2.gwt.client.WebGLAdapter.java
License:Open Source License
public void updatTCBuffer(FloatBuffer buf, int offset, int count) { BufferData bd = bufferData[GLAdapter.ARRAY_TEXCOORD_0]; gl.glBindBuffer(WebGL.GL_ARRAY_BUFFER, bd.buffer); int pos = buf.position(); int limit = buf.limit(); buf.position(pos + offset);/*from ww w . ja v a 2 s . c om*/ buf.limit(pos + offset + count); WebGLArray<?> data = getWebGLArray(buf, GL_FLOAT); gl.glBufferSubData(WebGL.GL_ARRAY_BUFFER, offset * 4, data); buf.position(pos); buf.limit(limit); }
From source file:jake2.gwt.client.WebGLAdapter.java
License:Open Source License
private void prepareDraw() { if (updateMvpMatrix()) { gl.glUniformMatrix4fv(uMvpMatrix, false, WebGLFloatArray.create(mvpMatrix)); checkError("prepareDraw"); }// w w w . j a v a 2 s. co m gl.glUniform1i(uTexEnv0, getTextureMode(0)); gl.glUniform1i(uTexEnv1, getTextureMode(1)); // StringBuilder sizes = new StringBuilder(); for (int i = 0; i < SMALL_BUF_COUNT; i++) { BufferData bd = bufferData[i]; if (bd.toBind != null) { gl.glBindBuffer(WebGL.GL_ARRAY_BUFFER, bd.buffer); checkError("bindBuffer" + i); // int len = bd.toBind.getByteLength(); // if (len < bd.byteSize) { // gl.glBufferSubData(WebGL.GL_ARRAY_BUFFER, 0, bd.toBind); // } else { // bd.byteSize = len; gl.glBufferData(WebGL.GL_ARRAY_BUFFER, bd.toBind, WebGL.GL_STREAM_DRAW); // } checkError("bufferData" + i); gl.glVertexAttribPointer(i, bd.size, bd.type, bd.normalize, bd.byteStride, 0); checkError("vertexAttribPointer"); bd.toBind = null; } } // log ("prepDraw: " + sizes); }
From source file:jake2.gwt.client.WebGLAdapter.java
License:Open Source License
public void glVertexAttribPointer(int arrayId, int size, int type, boolean normalize, int byteStride, int offset, Buffer nioBuffer, int staticDrawId) { WebGL.Buffer buffer = staticBuffers.get(staticDrawId); if (buffer == null) { buffer = gl.glCreateBuffer();/* www.jav a 2s . c o m*/ staticBuffers.set(staticDrawId, buffer); gl.glBindBuffer(WebGL.GL_ARRAY_BUFFER, buffer); WebGLArray<?> webGLArray = getWebGLArray(nioBuffer, type); gl.glBufferData(WebGL.GL_ARRAY_BUFFER, webGLArray, WebGL.GL_STATIC_DRAW); checkError("bufferData"); log("static buffer created; id: " + staticDrawId + " remaining: " + nioBuffer.remaining()); } gl.glBindBuffer(WebGL.GL_ARRAY_BUFFER, buffer); gl.glVertexAttribPointer(arrayId, size, type, normalize, byteStride, offset); bufferData[arrayId].toBind = null; checkError("vertexAttribPointer"); }