public void glBufferData(int target, IntBuffer data, int usage) { glext.glBufferData(target, data, usage); checkError(); }
public void glBufferSubData(int target, long offset, IntBuffer data) { glext.glBufferSubData(target, offset, data); checkError(); }
@Override public int glClientWaitSync(Object sync, int flags, long timeout) { int result = glext.glClientWaitSync(sync, flags, timeout); checkError(); return result; }
public void glDrawElementsInstancedARB(int mode, int indices_count, int type, long indices_buffer_offset, int primcount) { glext.glDrawElementsInstancedARB(mode, indices_count, type, indices_buffer_offset, primcount); checkError(); }
public void glDrawBuffers(IntBuffer bufs) { glext.glDrawBuffers(bufs); checkError(); }
public void glTexImage2DMultisample(int target, int samples, int internalformat, int width, int height, boolean fixedsamplelocations) { glext.glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); checkError(); }
public void glDrawArraysInstancedARB(int mode, int first, int count, int primcount) { glext.glDrawArraysInstancedARB(mode, first, count, primcount); checkError(); }
public void glGetMultisample(int pname, int index, FloatBuffer val) { glext.glGetMultisample(pname, index, val); checkError(); }
@Override public void glDeleteSync(Object sync) { glext.glDeleteSync(sync); checkError(); }
@Override public Object glFenceSync(int condition, int flags) { Object sync = glext.glFenceSync(condition, flags); checkError(); return sync; }
glext.glDrawElementsInstancedARB(elMode, elementLength, fmt, glext.glDrawElementsInstancedARB(convertElementMode(mesh.getMode()), indexBuf.getData().limit(), convertFormat(indexBuf.getFormat()),
glext.glDrawBuffers(intBuf16); context.boundDrawBuf = MRT_OFF + fb.getNumColorBuffers();
glext.glTexImage2DMultisample(target, samples, format.internalFormat,
public void drawTriangleArray(Mesh.Mode mode, int count, int vertCount) { boolean useInstancing = count > 1 && caps.contains(Caps.MeshInstancing); if (useInstancing) { glext.glDrawArraysInstancedARB(convertElementMode(mode), 0, vertCount, count); } else { gl.glDrawArrays(convertElementMode(mode), 0, vertCount); } }
public Vector2f[] getFrameBufferSamplePositions(FrameBuffer fb) { if (fb.getSamples() <= 1) { throw new IllegalArgumentException("Framebuffer must be multisampled"); } if (!caps.contains(Caps.TextureMultisample)) { throw new RendererException("Multisampled textures are not supported"); } setFrameBuffer(fb); Vector2f[] samplePositions = new Vector2f[fb.getSamples()]; FloatBuffer samplePos = BufferUtils.createFloatBuffer(2); for (int i = 0; i < samplePositions.length; i++) { glext.glGetMultisample(GLExt.GL_SAMPLE_POSITION, i, samplePos); samplePos.clear(); samplePositions[i] = new Vector2f(samplePos.get(0) - 0.5f, samplePos.get(1) - 0.5f); } return samplePositions; }
@Override public void glDeleteSync(Object sync) { glext.glDeleteSync(sync); checkError(); }
@Override public Object glFenceSync(int condition, int flags) { Object sync = glext.glFenceSync(condition, flags); checkError(); return sync; }
public void glDrawElementsInstancedARB(int mode, int indices_count, int type, long indices_buffer_offset, int primcount) { glext.glDrawElementsInstancedARB(mode, indices_count, type, indices_buffer_offset, primcount); checkError(); }
case Int: case UnsignedInt: glext.glBufferData(target, (IntBuffer) vb.getData(), usage); break; case Float:
public void glDrawBuffers(IntBuffer bufs) { glext.glDrawBuffers(bufs); checkError(); }