Java Code Examples for org.lwjgl.opengl.EXTFramebufferObject#glGenRenderbuffersEXT()

The following examples show how to use org.lwjgl.opengl.EXTFramebufferObject#glGenRenderbuffersEXT() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: OutlineUtils.java    From LiquidBounce with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Sets up the FBO with depth and stencil
 *
 * @param fbo Framebuffer
 */
private static void setupFBO(final Framebuffer fbo) {
    // Deletes old render buffer extensions such as depth
    // Args: Render Buffer ID
    EXTFramebufferObject.glDeleteRenderbuffersEXT(fbo.depthBuffer);
    // Generates a new render buffer ID for the depth and stencil extension
    final int stencil_depth_buffer_ID = EXTFramebufferObject.glGenRenderbuffersEXT();
    // Binds new render buffer by ID
    // Args: Target (GL_RENDERBUFFER_EXT), ID
    EXTFramebufferObject.glBindRenderbufferEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, stencil_depth_buffer_ID);
    // Adds the depth and stencil extension
    // Args: Target (GL_RENDERBUFFER_EXT), Extension (GL_DEPTH_STENCIL_EXT),
    // Width, Height
    EXTFramebufferObject.glRenderbufferStorageEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, EXTPackedDepthStencil.GL_DEPTH_STENCIL_EXT, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight);
    // Adds the stencil attachment
    // Args: Target (GL_FRAMEBUFFER_EXT), Attachment
    // (GL_STENCIL_ATTACHMENT_EXT), Target (GL_RENDERBUFFER_EXT), ID
    EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, EXTFramebufferObject.GL_STENCIL_ATTACHMENT_EXT, EXTFramebufferObject.GL_RENDERBUFFER_EXT, stencil_depth_buffer_ID);
    // Adds the depth attachment
    // Args: Target (GL_FRAMEBUFFER_EXT), Attachment
    // (GL_DEPTH_ATTACHMENT_EXT), Target (GL_RENDERBUFFER_EXT), ID
    EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, EXTFramebufferObject.GL_DEPTH_ATTACHMENT_EXT, EXTFramebufferObject.GL_RENDERBUFFER_EXT, stencil_depth_buffer_ID);
}
 
Example 2
Source File: FrameBufferContainer.java    From LookingGlass with GNU General Public License v3.0 6 votes vote down vote up
private void allocateFrameBuffer() {
	if (this.framebuffer != 0) return;

	this.framebuffer = EXTFramebufferObject.glGenFramebuffersEXT(); //Release via: EXTFramebufferObject.glDeleteFramebuffersEXT(framebuffer);
	this.depthBuffer = EXTFramebufferObject.glGenRenderbuffersEXT(); //Release via: EXTFramebufferObject.glDeleteRenderbuffersEXT(depthBuffer);

	EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, this.framebuffer);

	EXTFramebufferObject.glBindRenderbufferEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, depthBuffer);
	if (MinecraftForgeClient.getStencilBits() == 0) EXTFramebufferObject.glRenderbufferStorageEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, GL14.GL_DEPTH_COMPONENT24, width, height);
	else EXTFramebufferObject.glRenderbufferStorageEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, org.lwjgl.opengl.EXTPackedDepthStencil.GL_DEPTH24_STENCIL8_EXT, width, height);

	EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, EXTFramebufferObject.GL_DEPTH_ATTACHMENT_EXT, EXTFramebufferObject.GL_RENDERBUFFER_EXT, depthBuffer);
	if (MinecraftForgeClient.getStencilBits() != 0) EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, EXTFramebufferObject.GL_STENCIL_ATTACHMENT_EXT, EXTFramebufferObject.GL_RENDERBUFFER_EXT, depthBuffer);

	this.texture = GL11.glGenTextures(); //Release via: GL11.glDeleteTextures(colorTexture);
	GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.texture);
	GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
	GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA8, width, height, 0, GL11.GL_RGBA, GL11.GL_INT, (java.nio.ByteBuffer) null);
	EXTFramebufferObject.glFramebufferTexture2DEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, EXTFramebufferObject.GL_COLOR_ATTACHMENT0_EXT, GL11.GL_TEXTURE_2D, this.texture, 0);

	EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, 0);
}
 
Example 3
Source File: Rendertarget.java    From opsu-dance with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Create a new FBO.
 * @param width the width
 * @param height the height
 */
private Rendertarget(int width, int height) {
	this.width = width;
	this.height = height;
	fboID = EXTFramebufferObject.glGenFramebuffersEXT();
	vboID = GL15.glGenBuffers();
	textureID = GL11.glGenTextures();
	depthBufferID = EXTFramebufferObject.glGenRenderbuffersEXT();
}
 
Example 4
Source File: Rendertarget.java    From opsu with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Create a new FBO.
 * @param width the width
 * @param height the height
 */
private Rendertarget(int width, int height) {
	this.width = width;
	this.height = height;
	fboID = EXTFramebufferObject.glGenFramebuffersEXT();
	vboID = GL15.glGenBuffers();
	textureID = GL11.glGenTextures();
	depthBufferID = EXTFramebufferObject.glGenRenderbuffersEXT();
}
 
Example 5
Source File: LwjglGLFboEXT.java    From jmonkeyengine with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
@Override
public void glGenRenderbuffersEXT(IntBuffer param1) {
    checkLimit(param1);
    EXTFramebufferObject.glGenRenderbuffersEXT(param1);
}
 
Example 6
Source File: LwjglGLFboEXT.java    From jmonkeyengine with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
@Override
public void glGenRenderbuffersEXT(final IntBuffer renderBuffers) {
    checkLimit(renderBuffers);
    EXTFramebufferObject.glGenRenderbuffersEXT(renderBuffers);
}