/*
* Copyright (c) 2002-2008 LWJGL Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name of 'LWJGL' nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.lwjgl.opengl;
import org.lwjgl.util.generator.*;
import org.lwjgl.util.generator.Alternate;
import org.lwjgl.util.generator.opengl.GLenum;
import org.lwjgl.util.generator.opengl.GLreturn;
import org.lwjgl.util.generator.opengl.GLsizei;
import org.lwjgl.util.generator.opengl.GLuint;
import java.nio.IntBuffer;
public interface EXT_framebuffer_object {
/**
* Accepted by the <target> parameter of BindFramebufferEXT,
* CheckFramebufferStatusEXT, FramebufferTexture{1D|2D|3D}EXT, and
* FramebufferRenderbufferEXT:
*/
int GL_FRAMEBUFFER_EXT = 0x8D40;
/**
* Accepted by the <target> parameter of BindRenderbufferEXT,
* RenderbufferStorageEXT, and GetRenderbufferParameterivEXT, and
* returned by GetFramebufferAttachmentParameterivEXT:
*/
int GL_RENDERBUFFER_EXT = 0x8D41;
/**
* Accepted by the <internalformat> parameter of
* RenderbufferStorageEXT:
*/
int GL_STENCIL_INDEX1_EXT = 0x8D46;
int GL_STENCIL_INDEX4_EXT = 0x8D47;
int GL_STENCIL_INDEX8_EXT = 0x8D48;
int GL_STENCIL_INDEX16_EXT = 0x8D49;
/** Accepted by the <pname> parameter of GetRenderbufferParameterivEXT: */
int GL_RENDERBUFFER_WIDTH_EXT = 0x8D42;
int GL_RENDERBUFFER_HEIGHT_EXT = 0x8D43;
int GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44;
int GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50;
int GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51;
int GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52;
int GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53;
int GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54;
int GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55;
/**
* Accepted by the <pname> parameter of
* GetFramebufferAttachmentParameterivEXT:
*/
int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0;
int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1;
int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2;
int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3;
int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4;
/**
* Accepted by the <attachment> parameter of
* FramebufferTexture{1D|2D|3D}EXT, FramebufferRenderbufferEXT, and
* GetFramebufferAttachmentParameterivEXT
*/
int GL_COLOR_ATTACHMENT0_EXT = 0x8CE0;
int GL_COLOR_ATTACHMENT1_EXT = 0x8CE1;
int GL_COLOR_ATTACHMENT2_EXT = 0x8CE2;
int GL_COLOR_ATTACHMENT3_EXT = 0x8CE3;
int GL_COLOR_ATTACHMENT4_EXT = 0x8CE4;
int GL_COLOR_ATTACHMENT5_EXT = 0x8CE5;
int GL_COLOR_ATTACHMENT6_EXT = 0x8CE6;
int GL_COLOR_ATTACHMENT7_EXT = 0x8CE7;
int GL_COLOR_ATTACHMENT8_EXT = 0x8CE8;
int GL_COLOR_ATTACHMENT9_EXT = 0x8CE9;
int GL_COLOR_ATTACHMENT10_EXT = 0x8CEA;
int GL_COLOR_ATTACHMENT11_EXT = 0x8CEB;
int GL_COLOR_ATTACHMENT12_EXT = 0x8CEC;
int GL_COLOR_ATTACHMENT13_EXT = 0x8CED;
int GL_COLOR_ATTACHMENT14_EXT = 0x8CEE;
int GL_COLOR_ATTACHMENT15_EXT = 0x8CEF;
int GL_DEPTH_ATTACHMENT_EXT = 0x8D00;
int GL_STENCIL_ATTACHMENT_EXT = 0x8D20;
/** Returned by CheckFramebufferStatusEXT(): */
int GL_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5;
int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6;
int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7;
int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9;
int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA;
int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB;
int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC;
int GL_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD;
/** Accepted by GetIntegerv(): */
int GL_FRAMEBUFFER_BINDING_EXT = 0x8CA6;
int GL_RENDERBUFFER_BINDING_EXT = 0x8CA7;
int GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF;
int GL_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8;
/** Returned by GetError(): */
int GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506;
boolean glIsRenderbufferEXT(@GLuint int renderbuffer);
void glBindRenderbufferEXT(@GLenum int target, @GLuint int renderbuffer);
void glDeleteRenderbuffersEXT(@AutoSize("renderbuffers") int n, @Const @GLuint IntBuffer renderbuffers);
@Alternate("glDeleteRenderbuffersEXT")
void glDeleteRenderbuffersEXT(@Constant("1") int n, @Constant(value = "APIUtil.getInt(caps, renderbuffer)", keepParam = true) int renderbuffer);
void glGenRenderbuffersEXT(@AutoSize("renderbuffers") int n, @OutParameter @GLuint IntBuffer renderbuffers);
@Alternate("glGenRenderbuffersEXT")
@GLreturn("renderbuffers")
void glGenRenderbuffersEXT2(@Constant("1") int n, @OutParameter @GLuint IntBuffer renderbuffers);
void glRenderbufferStorageEXT(@GLenum int target, @GLenum int internalformat, @GLsizei int width, @GLsizei int height);
@StripPostfix("params")
void glGetRenderbufferParameterivEXT(@GLenum int target, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
/** @deprecated Will be removed in 3.0. Use {@link #glGetRenderbufferParameteriEXT} instead. */
@Alternate("glGetRenderbufferParameterivEXT")
@GLreturn("params")
@StripPostfix("params")
@Reuse(value = "EXTFramebufferObject", method = "glGetRenderbufferParameteriEXT")
@Deprecated
void glGetRenderbufferParameterivEXT2(@GLenum int target, @GLenum int pname, @OutParameter IntBuffer params);
@Alternate("glGetRenderbufferParameterivEXT")
@GLreturn("params")
@StripPostfix(value = "params", hasPostfix = false)
void glGetRenderbufferParameterivEXT3(@GLenum int target, @GLenum int pname, @OutParameter IntBuffer params);
boolean glIsFramebufferEXT(@GLuint int framebuffer);
void glBindFramebufferEXT(@GLenum int target, @GLuint int framebuffer);
void glDeleteFramebuffersEXT(@AutoSize("framebuffers") int n, @Const @GLuint IntBuffer framebuffers);
@Alternate("glDeleteFramebuffersEXT")
void glDeleteFramebuffersEXT(@Constant("1") int n, @Constant(value = "APIUtil.getInt(caps, framebuffer)", keepParam = true) int framebuffer);
void glGenFramebuffersEXT(@AutoSize("framebuffers") int n, @OutParameter @GLuint IntBuffer framebuffers);
@Alternate("glGenFramebuffersEXT")
@GLreturn("framebuffers")
void glGenFramebuffersEXT2(@Constant("1") int n, @OutParameter @GLuint IntBuffer framebuffers);
@GLenum
int glCheckFramebufferStatusEXT(@GLenum int target);
void glFramebufferTexture1DEXT(@GLenum int target, @GLenum int attachment, @GLenum int textarget, @GLuint int texture, int level);
void glFramebufferTexture2DEXT(@GLenum int target, @GLenum int attachment, @GLenum int textarget, @GLuint int texture, int level);
void glFramebufferTexture3DEXT(@GLenum int target, @GLenum int attachment, @GLenum int textarget, @GLuint int texture, int level, int zoffset);
void glFramebufferRenderbufferEXT(@GLenum int target, @GLenum int attachment, @GLenum int renderbuffertarget, @GLuint int renderbuffer);
@StripPostfix("params")
void glGetFramebufferAttachmentParameterivEXT(@GLenum int target, @GLenum int attachment, @GLenum int pname, @OutParameter @Check("4") IntBuffer params);
/** @deprecated Will be removed in 3.0. Use {@link #glGetFramebufferAttachmentParameteriEXT} instead. */
@Alternate("glGetFramebufferAttachmentParameterivEXT")
@GLreturn("params")
@StripPostfix("params")
@Reuse(value = "EXTFramebufferObject", method = "glGetFramebufferAttachmentParameteriEXT")
@Deprecated
void glGetFramebufferAttachmentParameterivEXT2(@GLenum int target, @GLenum int attachment, @GLenum int pname, @OutParameter IntBuffer params);
@Alternate("glGetFramebufferAttachmentParameterivEXT")
@GLreturn("params")
@StripPostfix(value = "params", hasPostfix = false)
void glGetFramebufferAttachmentParameterivEXT3(@GLenum int target, @GLenum int attachment, @GLenum int pname, @OutParameter IntBuffer params);
void glGenerateMipmapEXT(@GLenum int target);
}