@Override public void glBindBuffer (int target, int buffer) { gl.bindBuffer(target, buffers.get(buffer)); }
@Override public void glBindBuffer (int target, int buffer) { gl.bindBuffer(target, buffers.get(buffer)); }
@Override public void glBufferSubData(int target, int offset, int size, Buffer data) { if (target == GL_ARRAY_BUFFER && requestedArrayBuffer != boundArrayBuffer) { gl.bindBuffer(target, requestedArrayBuffer); boundArrayBuffer = requestedArrayBuffer; } throw new RuntimeException("NYI glBufferSubData"); }
@Override public void glBufferSubData(int target, int offset, int size, Buffer data) { if (target == GL_ARRAY_BUFFER && requestedArrayBuffer != boundArrayBuffer) { gl.bindBuffer(target, requestedArrayBuffer); boundArrayBuffer = requestedArrayBuffer; } throw new RuntimeException("NYI glBufferSubData"); }
@Override public void glBufferSubData(int target, int offset, int size, Buffer data) { if (target == GL_ARRAY_BUFFER && requestedArrayBuffer != boundArrayBuffer) { gl.bindBuffer(target, requestedArrayBuffer); boundArrayBuffer = requestedArrayBuffer; } throw new RuntimeException("NYI glBufferSubData"); }
@Override public void glBindBuffer (int target, int buffer) { gl.bindBuffer(target, buffers.get(buffer)); }
@Override public void glVertexAttribPointer(int indx, int size, int type, boolean normalized, int stride, int ptr) { useNioBuffer &= ~(1 << indx); if (boundArrayBuffer != requestedArrayBuffer) { gl.bindBuffer(GL_ARRAY_BUFFER, requestedArrayBuffer); boundArrayBuffer = requestedArrayBuffer; } gl.vertexAttribPointer(indx, size, type, normalized, stride, ptr); }
@Override public void glVertexAttribPointer(int indx, int size, int type, boolean normalized, int stride, int ptr) { useNioBuffer &= ~(1 << indx); if (boundArrayBuffer != requestedArrayBuffer) { gl.bindBuffer(GL_ARRAY_BUFFER, requestedArrayBuffer); boundArrayBuffer = requestedArrayBuffer; } gl.vertexAttribPointer(indx, size, type, normalized, stride, ptr); }
@Override public void glBindBuffer(int target, int buffer) { // Yes, bindBuffer is so expensive that this makes sense.. WebGLBuffer webGlBuf = buffers.get(buffer); if (target == GL_ARRAY_BUFFER) { requestedArrayBuffer = webGlBuf; } else if (target == GL_ELEMENT_ARRAY_BUFFER) { requestedElementArrayBuffer = webGlBuf; } else { gl.bindBuffer(target, webGlBuf); } }
@Override public void glBindBuffer(int target, int buffer) { // Yes, bindBuffer is so expensive that this makes sense.. WebGLBuffer webGlBuf = getBuffer(buffer); if (target == GL_ARRAY_BUFFER) { requestedArrayBuffer = webGlBuf; } else if (target == GL_ELEMENT_ARRAY_BUFFER) { requestedElementArrayBuffer = webGlBuf; } else { gl.bindBuffer(target, webGlBuf); } }
@Override public void glBindBuffer(int target, int buffer) { // Yes, bindBuffer is so expensive that this makes sense.. WebGLBuffer webGlBuf = buffers.get(buffer); if (target == GL_ARRAY_BUFFER) { requestedArrayBuffer = webGlBuf; } else if (target == GL_ELEMENT_ARRAY_BUFFER) { requestedElementArrayBuffer = webGlBuf; } else { gl.bindBuffer(target, webGlBuf); } }
@Override public void glVertexAttribPointer(int indx, int size, int type, boolean normalized, int stride, int ptr) { useNioBuffer &= ~(1 << indx); if (boundArrayBuffer != requestedArrayBuffer) { gl.bindBuffer(GL_ARRAY_BUFFER, requestedArrayBuffer); boundArrayBuffer = requestedArrayBuffer; } gl.vertexAttribPointer(indx, size, type, normalized, stride, ptr); }
@Override public void glBindBuffer (int target, int buffer) { gl.bindBuffer(target, buffers.get(buffer)); }
@Override public void glBufferData(int target, int byteSize, Buffer data, int usage) { if (target == GL_ARRAY_BUFFER) { if (requestedArrayBuffer != boundArrayBuffer) { gl.bindBuffer(target, requestedArrayBuffer); boundArrayBuffer = requestedArrayBuffer; } } else if (target == GL_ELEMENT_ARRAY_BUFFER) { if (requestedElementArrayBuffer != boundElementArrayBuffer) { gl.bindBuffer(target, requestedElementArrayBuffer); boundElementArrayBuffer = requestedElementArrayBuffer; } } gl.bufferData(target, getTypedArray(data, GL_BYTE, byteSize), usage); }
@Override public void glDrawElements(int mode, int count, int type, int indices) { prepareDraw(); if (requestedElementArrayBuffer != boundElementArrayBuffer) { gl.bindBuffer(GL_ELEMENT_ARRAY_BUFFER, requestedElementArrayBuffer); boundElementArrayBuffer = requestedElementArrayBuffer; } gl.drawElements(mode, count, type, indices); }
@Override public void glDrawElements(int mode, int count, int type, int indices) { prepareDraw(); if (requestedElementArrayBuffer != boundElementArrayBuffer) { gl.bindBuffer(GL_ELEMENT_ARRAY_BUFFER, requestedElementArrayBuffer); boundElementArrayBuffer = requestedElementArrayBuffer; } gl.drawElements(mode, count, type, indices); }
@Override public void glDrawElements(int mode, int count, int type, int indices) { prepareDraw(); if (requestedElementArrayBuffer != boundElementArrayBuffer) { gl.bindBuffer(GL_ELEMENT_ARRAY_BUFFER, requestedElementArrayBuffer); boundElementArrayBuffer = requestedElementArrayBuffer; } gl.drawElements(mode, count, type, indices); }
@Override public void glDrawElements(int mode, int count, int type, Buffer indices) { prepareDraw(); if (boundElementArrayBuffer != elementBuffer) { gl.bindBuffer(ELEMENT_ARRAY_BUFFER, elementBuffer); boundElementArrayBuffer = elementBuffer; } gl.bufferData(ELEMENT_ARRAY_BUFFER, getTypedArray(indices, type, count * getTypeSize(type)), STREAM_DRAW); // if ("ModelPart".equals(debugInfo)) { // HtmlPlatform.log.info("drawElements f. ModelPart; count: " + count); // } gl.drawElements(mode, count, type, 0); }
@Override public void glDrawElements(int mode, int count, int type, Buffer indices) { prepareDraw(); if (boundElementArrayBuffer != elementBuffer) { gl.bindBuffer(ELEMENT_ARRAY_BUFFER, elementBuffer); boundElementArrayBuffer = elementBuffer; } gl.bufferData(ELEMENT_ARRAY_BUFFER, getTypedArray(indices, type, count * getTypeSize(type)), STREAM_DRAW); // if ("ModelPart".equals(debugInfo)) { // HtmlPlatform.log.info("drawElements f. ModelPart; count: " + count); // } gl.drawElements(mode, count, type, 0); }
@Override public void glDrawElements(int mode, int count, int type, Buffer indices) { prepareDraw(); if (boundElementArrayBuffer != elementBuffer) { gl.bindBuffer(ELEMENT_ARRAY_BUFFER, elementBuffer); boundElementArrayBuffer = elementBuffer; } gl.bufferData(ELEMENT_ARRAY_BUFFER, getTypedArray(indices, type, count * getTypeSize(type)), STREAM_DRAW); // if ("ModelPart".equals(debugInfo)) { // HtmlPlatform.log.info("drawElements f. ModelPart; count: " + count); // } gl.drawElements(mode, count, type, 0); }