Example usage for org.lwjgl.opengl GL30 glBindFramebuffer

List of usage examples for org.lwjgl.opengl GL30 glBindFramebuffer

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL30 glBindFramebuffer.

Prototype

public static void glBindFramebuffer(@NativeType("GLenum") int target, @NativeType("GLuint") int framebuffer) 

Source Link

Document

Binds a framebuffer to a framebuffer target.

Usage

From source file:com.opengrave.og.light.DepthCubeFramebuffer.java

License:Open Source License

public void unbindDraw() {
    GL11.glFlush();
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, 0);
}

From source file:com.samrj.devil.gl.DGL.java

License:Open Source License

/**
 * Binds the given frame buffer to the given target. Pass null to bind the
 * default frame buffer./*from  ww w.  ja  va  2  s .co m*/
 * 
 * @param fbo The frame buffer to bind.
 * @param target The targe to bind to, or null to bind the default frame
 *        buffer;
 * @return The given frame buffer.
 */
public static FBO bindFBO(FBO fbo, int target) {
    switch (target) {
    case GL30.GL_FRAMEBUFFER:
        readFBO = fbo;
        drawFBO = fbo;
        break;
    case GL30.GL_READ_FRAMEBUFFER:
        readFBO = fbo;
        break;
    case GL30.GL_DRAW_FRAMEBUFFER:
        drawFBO = fbo;
        break;
    default:
        throw new IllegalArgumentException("Illegal target specified.");
    }

    if (fbo != null)
        fbo.bind(target);
    else
        GL30.glBindFramebuffer(target, 0);
    return fbo;
}

From source file:com.samrj.devil.gl.FBO.java

License:Open Source License

void bind(int target) {
    GL30.glBindFramebuffer(target, id);
}

From source file:com.xrbpowered.gl.res.buffers.MultisampleBuffers.java

License:Open Source License

public MultisampleBuffers(int w, int h, int samples, boolean hdr) {
    super(GL30.glGenFramebuffers(), w, h);
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, fbo);
    create(w, h, samples, true, hdr);//w w w  . ja v a 2 s  . c  om
    resolve = new OffscreenBuffers(w, h, false, hdr);
}

From source file:com.xrbpowered.gl.res.buffers.MultisampleBuffers.java

License:Open Source License

protected void create(int w, int h, int samples, boolean depthBuffer, boolean hdr) {
    colorMSTexId = GL11.glGenTextures();
    GL11.glBindTexture(GL32.GL_TEXTURE_2D_MULTISAMPLE, colorMSTexId);
    GL32.glTexImage2DMultisample(GL32.GL_TEXTURE_2D_MULTISAMPLE, samples, hdr ? GL30.GL_RGB16F : GL11.GL_RGB, w,
            h, false);/*  w  w w.j  a v  a2  s .com*/
    GL11.glBindTexture(GL32.GL_TEXTURE_2D_MULTISAMPLE, 0);
    GL32.glFramebufferTexture(GL30.GL_FRAMEBUFFER, GL30.GL_COLOR_ATTACHMENT0, colorMSTexId, 0);

    depthMSTexId = 0;
    if (depthBuffer) {
        depthMSTexId = GL11.glGenTextures();
        GL11.glBindTexture(GL32.GL_TEXTURE_2D_MULTISAMPLE, depthMSTexId);
        GL32.glTexImage2DMultisample(GL32.GL_TEXTURE_2D_MULTISAMPLE, samples, GL30.GL_DEPTH24_STENCIL8, w, h,
                false);
        GL11.glBindTexture(GL32.GL_TEXTURE_2D_MULTISAMPLE, 0);
        GL32.glFramebufferTexture(GL30.GL_FRAMEBUFFER, GL30.GL_DEPTH_ATTACHMENT, depthMSTexId, 0);
    }
    checkStatus();
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, 0);
}

From source file:com.xrbpowered.gl.res.buffers.OffscreenBuffers.java

License:Open Source License

public OffscreenBuffers(int w, int h, boolean depthBuffer, boolean depthTexture) {
    super(GL30.glGenFramebuffers(), w, h);
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, fbo);
    create(w, h, depthBuffer, depthTexture);
}

From source file:com.xrbpowered.gl.res.buffers.OffscreenBuffers.java

License:Open Source License

protected void create(int w, int h, boolean depthBuffer, boolean hdr) {
    colorTexId = GL11.glGenTextures();/*from   w w w  . ja  va  2  s. com*/
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, colorTexId);
    GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, hdr ? GL30.GL_RGB16F : GL11.GL_RGB, w, h, 0, GL11.GL_RGB,
            GL11.GL_UNSIGNED_BYTE, (ByteBuffer) null);
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL12.GL_CLAMP_TO_EDGE);
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL12.GL_CLAMP_TO_EDGE);
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
    GL30.glFramebufferTexture2D(GL30.GL_FRAMEBUFFER, GL30.GL_COLOR_ATTACHMENT0, GL11.GL_TEXTURE_2D, colorTexId,
            0);

    depthTexId = 0;
    if (depthBuffer) {
        depthTexId = GL11.glGenTextures();
        GL11.glBindTexture(GL11.GL_TEXTURE_2D, depthTexId);
        GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL14.GL_DEPTH_COMPONENT16, w, h, 0, GL11.GL_DEPTH_COMPONENT,
                GL11.GL_FLOAT, (ByteBuffer) null);
        GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL12.GL_CLAMP_TO_EDGE);
        GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL12.GL_CLAMP_TO_EDGE);
        GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);
        GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
        GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
        GL30.glFramebufferTexture2D(GL30.GL_FRAMEBUFFER, GL30.GL_DEPTH_ATTACHMENT, GL11.GL_TEXTURE_2D,
                depthTexId, 0);
    }
    checkStatus();
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, 0);
}

From source file:com.xrbpowered.gl.res.buffers.RenderTarget.java

License:Open Source License

public void use() {
    GL11.glViewport(0, 0, getWidth(), getHeight());
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, fbo);
}

From source file:com.xrbpowered.gl.res.buffers.RenderTarget.java

License:Open Source License

public static void blit(RenderTarget source, RenderTarget target, boolean filter) {
    GL30.glBindFramebuffer(GL30.GL_READ_FRAMEBUFFER, source.fbo);
    GL30.glBindFramebuffer(GL30.GL_DRAW_FRAMEBUFFER, target.fbo);
    //      System.out.printf("[%d] %dx%d -> [%d] %dx%d\n", source.fbo, source.getWidth(), source.getHeight(), target.fbo, target.getWidth(), target.getHeight());
    GL30.glBlitFramebuffer(0, 0, source.getWidth(), source.getHeight(), 0, 0, target.getWidth(),
            target.getHeight(), GL11.GL_COLOR_BUFFER_BIT, filter ? GL11.GL_LINEAR : GL11.GL_NEAREST);
    Client.checkError();/* w ww  .j  a va 2  s  . c  om*/
}

From source file:cuchaz.jfxgl.prism.JFXGLContext.java

License:Open Source License

@Override
public void bindFBO(int nativeFBOID) {
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, nativeFBOID);
}