public void glBindFramebuffer (int target, int framebuffer) { EXTFramebufferObject.glBindFramebufferEXT(target, framebuffer); }
public void glBindFramebuffer (int target, int framebuffer) { EXTFramebufferObject.glBindFramebufferEXT(target, framebuffer); }
public void glBindFramebuffer (int target, int framebuffer) { EXTFramebufferObject.glBindFramebufferEXT(target, framebuffer); }
public void glBindFramebuffer (int target, int framebuffer) { EXTFramebufferObject.glBindFramebufferEXT(target, framebuffer); }
/** * "Unbinding" a FrameBuffer can be more easily thought as binding the application's display, * i.e. the whole screen or an individual window. The result of subsequent OpenGL draw calls will * therefore be sent to the display until a different FrameBuffer is bound. */ public void unbind() { glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); }
@Override public void process() { glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); } }
/** * Binds the FrameBuffer tracked by this FBO. The result of subsequent OpenGL draw calls will be stored * in the FrameBuffer's attachments until a different FrameBuffer is bound. */ public void bind() { // Originally the code contained a check to prevent the currently bound FrameBuffer from being re-bound. // By my understanding current OpenGL implementations are smart enough to prevent it on their own. If // necessary, it'd be easy to add a class variable tracking the currently bound FrameBuffer and the // associated checks. glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fboId); }
@Override public void process() { // TODO: change the target argument to GL_DRAW_FRAMEBUFFER when we switch to OpenGL 3.0 and beyond. glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fboId); }
@Override public void glBindFramebufferEXT(final int target, final int frameBuffer) { EXTFramebufferObject.glBindFramebufferEXT(target, frameBuffer); }
@Override public void glBindFramebufferEXT(int param1, int param2) { EXTFramebufferObject.glBindFramebufferEXT(param1, param2); }
public void copyFromFBO(int fboId, int width, int height, int format, int type) { bind(); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fboId); glReadPixels(0, 0, width, height, format, type, 0); unbind(); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); }
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo.fboId); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
private void renderFinalStereoImage(RenderingStage renderingStage) { // TODO: verify if we can use glCopyTexSubImage2D instead of pass-through shaders, // TODO: in terms of code simplicity and performance. switch (renderingStage) { case LEFT_EYE: vrProvider.updateState(); leftEyeFbo.bind(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); renderFullscreenQuad(); break; case RIGHT_EYE: rightEyeFbo.bind(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); renderFullscreenQuad(); vrProvider.submitFrame(); GL11.glFinish(); break; } // Bind the default FBO. The DAG does not recognize that this node has // bound a different FBO, so as far as it is concerned, FBO 0 is still // bound. As a result, without the below line, the image is only copied // to the HMD - not to the screen as we would like. To get around this, // we bind the default FBO here at the end. This is a bit brittle // because it assumes that FBO 0 is bound before this node is run. // TODO: break this node into two different nodes that use addDesiredStateChange(BindFbo...)) glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); } }
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo.fboId); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
@Override public void glBindFramebuffer(int target, int framebuffer) { EXTFramebufferObject.glBindFramebufferEXT(target, framebuffer); }
@Override public void glBindFramebuffer(int target, int framebuffer) { EXTFramebufferObject.glBindFramebufferEXT(target, framebuffer); }
@Override public void glBindFramebufferEXT(int param1, int param2) { EXTFramebufferObject.glBindFramebufferEXT(param1, param2); }
@Override protected void blitMSFBO() { EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferBlit.GL_READ_FRAMEBUFFER_EXT, _msfboID); EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferBlit.GL_DRAW_FRAMEBUFFER_EXT, _fboID); EXTFramebufferBlit.glBlitFramebufferEXT(0, 0, _width, _height, 0, 0, _width, _height, GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT, GL11.GL_NEAREST); EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferBlit.GL_READ_FRAMEBUFFER_EXT, 0); EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferBlit.GL_DRAW_FRAMEBUFFER_EXT, 0); EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, 0); }
/** * Bind to the FBO created */ private void bind() { EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, FBO); GL11.glReadBuffer(EXTFramebufferObject.GL_COLOR_ATTACHMENT0_EXT); }
/** * Unbind from the FBO created */ private void unbind() { EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, 0); GL11.glReadBuffer(GL11.GL_BACK); }