Example usage for com.google.gwt.corp.webgl.client WebGL GL_STREAM_DRAW

List of usage examples for com.google.gwt.corp.webgl.client WebGL GL_STREAM_DRAW

Introduction

In this page you can find the example usage for com.google.gwt.corp.webgl.client WebGL GL_STREAM_DRAW.

Prototype

int GL_STREAM_DRAW

To view the source code for com.google.gwt.corp.webgl.client WebGL GL_STREAM_DRAW.

Click Source Link

Usage

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");
    }/*from  ww  w. ja  v a  2s .  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);
}