/* * 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.*; import java.nio.IntBuffer; @Extension(postfix = "") public interface ARB_framebuffer_object { /** * Accepted by the <target> parameter of BindFramebuffer, * CheckFramebufferStatus, FramebufferTexture{1D|2D|3D}, * FramebufferRenderbuffer, and * GetFramebufferAttachmentParameteriv: */ int GL_FRAMEBUFFER = 0x8D40; int GL_READ_FRAMEBUFFER = 0x8CA8; int GL_DRAW_FRAMEBUFFER = 0x8CA9; /** * Accepted by the <target> parameter of BindRenderbuffer, * RenderbufferStorage, and GetRenderbufferParameteriv, and * returned by GetFramebufferAttachmentParameteriv: */ int GL_RENDERBUFFER = 0x8D41; /** * Accepted by the <internalformat> parameter of * RenderbufferStorage: */ int GL_STENCIL_INDEX1 = 0x8D46; int GL_STENCIL_INDEX4 = 0x8D47; int GL_STENCIL_INDEX8 = 0x8D48; int GL_STENCIL_INDEX16 = 0x8D49; /** Accepted by the <pname> parameter of GetRenderbufferParameteriv: */ int GL_RENDERBUFFER_WIDTH = 0x8D42; int GL_RENDERBUFFER_HEIGHT = 0x8D43; int GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44; int GL_RENDERBUFFER_RED_SIZE = 0x8D50; int GL_RENDERBUFFER_GREEN_SIZE = 0x8D51; int GL_RENDERBUFFER_BLUE_SIZE = 0x8D52; int GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53; int GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54; int GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55; int GL_RENDERBUFFER_SAMPLES = 0x8CAB; /** * Accepted by the <pname> parameter of * GetFramebufferAttachmentParameteriv: */ int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0; int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1; int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2; int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3; int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4; int GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210; int GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211; int GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212; int GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213; int GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214; int GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215; int GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216; int GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217; /** Returned in <params> by GetFramebufferAttachmentParameteriv: */ int GL_SRGB = 0x8C40; int GL_UNSIGNED_NORMALIZED = 0x8C17; int GL_FRAMEBUFFER_DEFAULT = 0x8218; int GL_INDEX = 0x8222; /** * Accepted by the <attachment> parameter of * FramebufferTexture{1D|2D|3D}, FramebufferRenderbuffer, and * GetFramebufferAttachmentParameteriv */ int GL_COLOR_ATTACHMENT0 = 0x8CE0; int GL_COLOR_ATTACHMENT1 = 0x8CE1; int GL_COLOR_ATTACHMENT2 = 0x8CE2; int GL_COLOR_ATTACHMENT3 = 0x8CE3; int GL_COLOR_ATTACHMENT4 = 0x8CE4; int GL_COLOR_ATTACHMENT5 = 0x8CE5; int GL_COLOR_ATTACHMENT6 = 0x8CE6; int GL_COLOR_ATTACHMENT7 = 0x8CE7; int GL_COLOR_ATTACHMENT8 = 0x8CE8; int GL_COLOR_ATTACHMENT9 = 0x8CE9; int GL_COLOR_ATTACHMENT10 = 0x8CEA; int GL_COLOR_ATTACHMENT11 = 0x8CEB; int GL_COLOR_ATTACHMENT12 = 0x8CEC; int GL_COLOR_ATTACHMENT13 = 0x8CED; int GL_COLOR_ATTACHMENT14 = 0x8CEE; int GL_COLOR_ATTACHMENT15 = 0x8CEF; int GL_DEPTH_ATTACHMENT = 0x8D00; int GL_STENCIL_ATTACHMENT = 0x8D20; int GL_DEPTH_STENCIL_ATTACHMENT = 0x821A; /** * Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, * GetFloatv, and GetDoublev: */ int GL_MAX_SAMPLES = 0x8D57; /** Returned by CheckFramebufferStatus(): */ int GL_FRAMEBUFFER_COMPLETE = 0x8CD5; int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6; int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7; int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB; int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC; int GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD; int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56; int GL_FRAMEBUFFER_UNDEFINED = 0x8219; /** * Accepted by the <pname> parameters of GetIntegerv, GetFloatv, * and GetDoublev: */ int GL_FRAMEBUFFER_BINDING = 0x8CA6; // alias DRAW_FRAMEBUFFER_BINDING int GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6; int GL_READ_FRAMEBUFFER_BINDING = 0x8CAA; int GL_RENDERBUFFER_BINDING = 0x8CA7; int GL_MAX_COLOR_ATTACHMENTS = 0x8CDF; int GL_MAX_RENDERBUFFER_SIZE = 0x84E8; /** Returned by GetError(): */ int GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506; /** * Accepted by the <format> parameter of DrawPixels, ReadPixels, * TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, * TexSubImage3D, and GetTexImage, by the <type> parameter of * CopyPixels, by the <internalformat> parameter of TexImage1D, * TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and * RenderbufferStorage, and returned in the <data> parameter of * GetTexLevelParameter and GetRenderbufferParameteriv: */ int GL_DEPTH_STENCIL = 0x84F9; /** * Accepted by the <type> parameter of DrawPixels, ReadPixels, * TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D, * TexSubImage3D, and GetTexImage: */ int GL_UNSIGNED_INT_24_8 = 0x84FA; /** * Accepted by the <internalformat> parameter of TexImage1D, * TexImage2D, TexImage3D, CopyTexImage1D, CopyTexImage2D, and * RenderbufferStorage, and returned in the <data> parameter of * GetTexLevelParameter and GetRenderbufferParameteriv: */ int GL_DEPTH24_STENCIL8 = 0x88F0; /** Accepted by the <value> parameter of GetTexLevelParameter: */ int GL_TEXTURE_STENCIL_SIZE = 0x88F1; @Reuse("GL30") boolean glIsRenderbuffer(@GLuint int renderbuffer); @Reuse("GL30") void glBindRenderbuffer(@GLenum int target, @GLuint int renderbuffer); @Reuse("GL30") void glDeleteRenderbuffers(@AutoSize("renderbuffers") @GLsizei int n, @Const @GLuint IntBuffer renderbuffers); @Reuse("GL30") @Alternate("glDeleteRenderbuffers") void glDeleteRenderbuffers(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(caps, renderbuffer)", keepParam = true) int renderbuffer); @Reuse("GL30") void glGenRenderbuffers(@AutoSize("renderbuffers") @GLsizei int n, @OutParameter @GLuint IntBuffer renderbuffers); @Reuse("GL30") @Alternate("glGenRenderbuffers") @GLreturn("renderbuffers") void glGenRenderbuffers2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer renderbuffers); @Reuse("GL30") void glRenderbufferStorage(@GLenum int target, @GLenum int internalformat, @GLsizei int width, @GLsizei int height); @Reuse("GL30") void glRenderbufferStorageMultisample(@GLenum int target, @GLsizei int samples, @GLenum int internalformat, @GLsizei int width, @GLsizei int height); @Reuse("GL30") @StripPostfix("params") void glGetRenderbufferParameteriv(@GLenum int target, @GLenum int pname, @Check("4") @OutParameter IntBuffer params); /** @deprecated Will be removed in 3.0. Use {@link #glGetRenderbufferParameteri} instead. */ @Alternate("glGetRenderbufferParameteriv") @GLreturn("params") @StripPostfix("params") @Reuse(value = "ARBFramebufferObject", method = "glGetRenderbufferParameteri") @Deprecated void glGetRenderbufferParameteriv2(@GLenum int target, @GLenum int pname, @OutParameter IntBuffer params); @Reuse("GL30") @Alternate("glGetRenderbufferParameteriv") @GLreturn("params") @StripPostfix(value = "params", hasPostfix = false) void glGetRenderbufferParameteriv3(@GLenum int target, @GLenum int pname, @OutParameter IntBuffer params); @Reuse("GL30") boolean glIsFramebuffer(@GLuint int framebuffer); @Reuse("GL30") void glBindFramebuffer(@GLenum int target, @GLuint int framebuffer); @Reuse("GL30") void glDeleteFramebuffers(@AutoSize("framebuffers") @GLsizei int n, @Const @GLuint IntBuffer framebuffers); @Reuse("GL30") @Alternate("glDeleteFramebuffers") void glDeleteFramebuffers(@Constant("1") @GLsizei int n, @Constant(value = "APIUtil.getInt(caps, framebuffer)", keepParam = true) int framebuffer); @Reuse("GL30") void glGenFramebuffers(@AutoSize("framebuffers") @GLsizei int n, @OutParameter @GLuint IntBuffer framebuffers); @Reuse("GL30") @Alternate("glGenFramebuffers") @GLreturn("framebuffers") void glGenFramebuffers2(@Constant("1") @GLsizei int n, @OutParameter @GLuint IntBuffer framebuffers); @Reuse("GL30") @GLenum int glCheckFramebufferStatus(@GLenum int target); @Reuse("GL30") void glFramebufferTexture1D(@GLenum int target, @GLenum int attachment, @GLenum int textarget, @GLuint int texture, int level); @Reuse("GL30") void glFramebufferTexture2D(@GLenum int target, @GLenum int attachment, @GLenum int textarget, @GLuint int texture, int level); @Reuse("GL30") void glFramebufferTexture3D(@GLenum int target, @GLenum int attachment, @GLenum int textarget, @GLuint int texture, int level, int layer); @Reuse("GL30") void glFramebufferTextureLayer(@GLenum int target, @GLenum int attachment, @GLuint int texture, int level, int layer); @Reuse("GL30") void glFramebufferRenderbuffer(@GLenum int target, @GLenum int attachment, @GLenum int renderbuffertarget, @GLuint int renderbuffer); @Reuse("GL30") @StripPostfix("params") void glGetFramebufferAttachmentParameteriv(@GLenum int target, @GLenum int attachment, @GLenum int pname, @Check("4") @OutParameter IntBuffer params); /** @deprecated Will be removed in 3.0. Use {@link #glGetFramebufferAttachmentParameteri} instead. */ @Alternate("glGetFramebufferAttachmentParameteriv") @GLreturn("params") @StripPostfix("params") @Reuse(value = "GL30", method = "glGetFramebufferAttachmentParameteri") @Deprecated void glGetFramebufferAttachmentParameteriv2(@GLenum int target, @GLenum int attachment, @GLenum int pname, @OutParameter IntBuffer params); @Reuse("GL30") @Alternate("glGetFramebufferAttachmentParameteriv") @GLreturn("params") @StripPostfix(value = "params", hasPostfix = false) void glGetFramebufferAttachmentParameteriv3(@GLenum int target, @GLenum int attachment, @GLenum int pname, @OutParameter IntBuffer params); @Reuse("GL30") void glBlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, @GLbitfield int mask, @GLenum int filter); @Reuse("GL30") void glGenerateMipmap(@GLenum int target); }