List of usage examples for org.lwjgl.opengl GL30 GL_DEPTH24_STENCIL8
int GL_DEPTH24_STENCIL8
To view the source code for org.lwjgl.opengl GL30 GL_DEPTH24_STENCIL8.
Click Source Link
From source file:com.samrj.devil.graphics.TexUtil.java
License:Open Source License
/** * @param format an OpenGL texture format. * @return the base OpenGL internal texture format corresponding with the * given format./*from w ww .j a v a 2 s .c om*/ */ public static int getBaseFormat(int format) { switch (format) { //Forward-compatible formats. case GL11.GL_DEPTH_COMPONENT: case GL14.GL_DEPTH_COMPONENT16: case GL14.GL_DEPTH_COMPONENT24: case GL14.GL_DEPTH_COMPONENT32: case GL30.GL_DEPTH_COMPONENT32F: return GL11.GL_DEPTH_COMPONENT; case GL11.GL_RED: case GL30.GL_R8: case GL30.GL_R16: case GL30.GL_R16F: case GL30.GL_R16I: case GL30.GL_R32F: case GL30.GL_R32I: return GL11.GL_RED; case GL30.GL_DEPTH_STENCIL: case GL30.GL_DEPTH24_STENCIL8: case GL30.GL_DEPTH32F_STENCIL8: return GL30.GL_DEPTH_STENCIL; case GL30.GL_RG: case GL30.GL_RG8: case GL30.GL_RG16: case GL30.GL_RG16F: case GL30.GL_RG16I: case GL30.GL_RG32F: case GL30.GL_RG32I: return GL30.GL_RG; case GL11.GL_RGB: case GL11.GL_R3_G3_B2: case GL11.GL_RGB4: case GL11.GL_RGB5: case GL11.GL_RGB8: case GL11.GL_RGB10: case GL11.GL_RGB12: case GL11.GL_RGB16: case GL30.GL_RGB16F: case GL30.GL_RGB16I: case GL30.GL_RGB32F: case GL30.GL_RGB32I: return GL11.GL_RGB; case GL11.GL_RGBA: case GL11.GL_RGBA2: case GL11.GL_RGBA4: case GL11.GL_RGBA8: case GL11.GL_RGBA12: case GL11.GL_RGBA16: case GL30.GL_RGBA16F: case GL30.GL_RGBA16I: case GL30.GL_RGBA32F: case GL30.GL_RGBA32I: return GL11.GL_RGBA; //Deprecated formats. case GL11.GL_LUMINANCE: case GL11.GL_LUMINANCE8: case GL11.GL_LUMINANCE16: return GL11.GL_LUMINANCE; case GL11.GL_ALPHA: case GL11.GL_ALPHA8: case GL11.GL_ALPHA16: return GL11.GL_ALPHA; case GL11.GL_LUMINANCE_ALPHA: case GL11.GL_LUMINANCE8_ALPHA8: case GL11.GL_LUMINANCE16_ALPHA16: return GL11.GL_LUMINANCE_ALPHA; default: return -1; } }
From source file:com.samrj.devil.graphics.TexUtil.java
License:Open Source License
/** * Returns the OpenGL field name for the given format. * /*from w w w.ja v a 2 s . co m*/ * @param format An OpenGL texture format. * @return The OpenGL field name for the given format. */ public static String formatToString(int format) { switch (format) { case GL11.GL_DEPTH_COMPONENT: return "GL_DEPTH_COMPONENT"; case GL14.GL_DEPTH_COMPONENT16: return "GL_DEPTH_COMPONENT16"; case GL14.GL_DEPTH_COMPONENT24: return "GL_DEPTH_COMPONENT24"; case GL14.GL_DEPTH_COMPONENT32: return "GL_DEPTH_COMPONENT32"; case GL30.GL_DEPTH_COMPONENT32F: return "GL_DEPTH_COMPONENT32F"; case GL11.GL_RED: return "GL_RED"; case GL30.GL_R8: return "GL_R8"; case GL30.GL_R16: return "GL_R16"; case GL30.GL_R16F: return "GL_R16F"; case GL30.GL_R16I: return "GL_R16I"; case GL30.GL_R32F: return "GL_R32F"; case GL30.GL_R32I: return "GL_R32I"; case GL30.GL_DEPTH_STENCIL: return "GL_DEPTH_STENCIL"; case GL30.GL_DEPTH24_STENCIL8: return "GL_DEPTH24_STENCIL8"; case GL30.GL_DEPTH32F_STENCIL8: return "GL_DEPTH32F_STENCIL8"; case GL30.GL_RG: return "GL_RG"; case GL30.GL_RG8: return "GL_RG8"; case GL30.GL_RG16: return "GL_RG16"; case GL30.GL_RG16F: return "GL_RG16F"; case GL30.GL_RG16I: return "GL_RG16I"; case GL30.GL_RG32F: return "GL_RG32F"; case GL30.GL_RG32I: return "GL_RG32I"; case GL11.GL_RGB: return "GL_RGB"; case GL11.GL_RGB8: return "GL_RGB8"; case GL11.GL_RGB16: return "GL_RGB16"; case GL30.GL_RGB16F: return "GL_RGB16F"; case GL30.GL_RGB16I: return "GL_RGB16I"; case GL30.GL_RGB32F: return "GL_RGB32F"; case GL30.GL_RGB32I: return "GL_RGB32I"; case GL11.GL_RGBA: return "GL_RGBA"; case GL11.GL_RGBA8: return "GL_RGBA8"; case GL11.GL_RGBA16: return "GL_RGBA16"; case GL30.GL_RGBA16F: return "GL_RGBA16F"; case GL30.GL_RGBA16I: return "GL_RGBA16I"; case GL30.GL_RGBA32F: return "GL_RGBA32F"; case GL30.GL_RGBA32I: return "GL_RGBA32I"; case GL11.GL_LUMINANCE: return "GL_LUMINANCE"; case GL11.GL_LUMINANCE8: return "GL_LUMINANCE8"; case GL11.GL_LUMINANCE16: return "GL_LUMINANCE16"; case GL11.GL_ALPHA: return "GL_ALPHA"; case GL11.GL_ALPHA8: return "GL_ALPHA8"; case GL11.GL_ALPHA16: return "GL_ALPHA16"; case GL11.GL_LUMINANCE_ALPHA: return "GL_LUMINANCE_ALPHA"; case GL11.GL_LUMINANCE8_ALPHA8: return "GL_LUMINANCE8_ALPHA8"; case GL11.GL_LUMINANCE16_ALPHA16: return "GL_LUMINANCE16_ALPHA16"; default: return "UNSUPPORTED_FORMAT"; } }
From source file:com.samrj.devil.graphics.TexUtil.java
License:Open Source License
/** * Returns the OpenGL enumerator for the given primitive type. * //from w ww . j av a 2 s .com * @param format an OpenGL texture format. * @return the primitive data type associated with the given OpenGL format. */ public static int getPrimitiveType(int format) { switch (format) { default: case GL11.GL_LUMINANCE8: case GL11.GL_ALPHA8: case GL11.GL_LUMINANCE8_ALPHA8: case GL30.GL_R8: case GL30.GL_RG8: case GL11.GL_RGB8: case GL11.GL_RGBA8: return GL11.GL_UNSIGNED_BYTE; case GL11.GL_LUMINANCE16: case GL11.GL_ALPHA16: case GL11.GL_LUMINANCE16_ALPHA16: case GL14.GL_DEPTH_COMPONENT16: case GL30.GL_R16: case GL30.GL_RG16: case GL11.GL_RGB16: case GL11.GL_RGBA16: return GL11.GL_UNSIGNED_SHORT; case GL30.GL_R16I: case GL30.GL_RG16I: case GL30.GL_RGB16I: case GL30.GL_RGBA16I: return GL11.GL_SHORT; case GL30.GL_DEPTH_COMPONENT32F: case GL30.GL_R32F: case GL30.GL_RG32F: case GL30.GL_RGB32F: case GL30.GL_RGBA32F: return GL11.GL_FLOAT; case GL30.GL_R32I: case GL30.GL_RG32I: case GL30.GL_RGB32I: case GL30.GL_RGBA32I: return GL11.GL_INT; case GL30.GL_DEPTH24_STENCIL8: return GL30.GL_UNSIGNED_INT_24_8; } }
From source file:com.samrj.devil.graphics.TexUtil.java
License:Open Source License
/** * @param format an OpenGL texture format. * @return Approximately how many bits are stored per texel for the given format. *//*ww w .j a v a 2s. c om*/ public static long getBits(int format) { switch (format) { //Forward-compatible formats. case GL11.GL_DEPTH_COMPONENT: return 24; case GL14.GL_DEPTH_COMPONENT16: return 16; case GL14.GL_DEPTH_COMPONENT24: return 24; case GL14.GL_DEPTH_COMPONENT32: case GL30.GL_DEPTH_COMPONENT32F: return 32; case GL11.GL_RED: case GL30.GL_R8: return 8; case GL30.GL_R16: case GL30.GL_R16F: case GL30.GL_R16I: return 16; case GL30.GL_R32F: case GL30.GL_R32I: return 32; case GL30.GL_DEPTH_STENCIL: return 8; case GL30.GL_DEPTH24_STENCIL8: return 32; case GL30.GL_DEPTH32F_STENCIL8: return 40; case GL30.GL_RG: case GL30.GL_RG8: return 16; case GL30.GL_RG16: case GL30.GL_RG16F: case GL30.GL_RG16I: return 32; case GL30.GL_RG32F: case GL30.GL_RG32I: return 64; case GL11.GL_RGB: return 24; case GL11.GL_R3_G3_B2: return 8; case GL11.GL_RGB4: return 12; case GL11.GL_RGB5: return 15; case GL11.GL_RGB8: return 24; case GL11.GL_RGB10: return 30; case GL11.GL_RGB12: return 36; case GL11.GL_RGB16: case GL30.GL_RGB16F: case GL30.GL_RGB16I: return 48; case GL30.GL_RGB32F: case GL30.GL_RGB32I: return 96; case GL11.GL_RGBA: return 32; case GL11.GL_RGBA2: return 8; case GL11.GL_RGBA4: return 16; case GL11.GL_RGBA8: return 32; case GL11.GL_RGBA12: return 48; case GL11.GL_RGBA16: case GL30.GL_RGBA16F: case GL30.GL_RGBA16I: return 64; case GL30.GL_RGBA32F: case GL30.GL_RGBA32I: return 128; //Deprecated formats. case GL11.GL_LUMINANCE: case GL11.GL_LUMINANCE8: return 8; case GL11.GL_LUMINANCE16: return 16; case GL11.GL_ALPHA: case GL11.GL_ALPHA8: return 8; case GL11.GL_ALPHA16: return 16; case GL11.GL_LUMINANCE_ALPHA: case GL11.GL_LUMINANCE8_ALPHA8: return 16; case GL11.GL_LUMINANCE16_ALPHA16: return 32; default: return -1; } }
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);/*from w w w .j a v a 2s.co m*/ 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:org.spoutcraft.api.gui.renderer.GuiRendererFBO.java
License:MIT License
@Override public void initGui(Gui gui) { Minecraft mc = Minecraft.getMinecraft(); int width = mc.displayWidth; int height = mc.displayHeight; TextureUtil.bind(guiTex);//from w w w .j av a 2 s.co m GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA8, width, height, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, (ByteBuffer) null); TextureUtil.bind(0); GL30.glBindRenderbuffer(GL30.GL_RENDERBUFFER, stencilBuff); GL30.glRenderbufferStorage(GL30.GL_RENDERBUFFER, GL30.GL_DEPTH24_STENCIL8, width, height); GL30.glBindRenderbuffer(GL30.GL_RENDERBUFFER, 0); GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, fbo); GL30.glFramebufferTexture2D(GL30.GL_FRAMEBUFFER, GL30.GL_COLOR_ATTACHMENT0, GL11.GL_TEXTURE_2D, guiTex, 0); GL30.glFramebufferRenderbuffer(GL30.GL_FRAMEBUFFER, GL30.GL_DEPTH_ATTACHMENT, GL30.GL_RENDERBUFFER, stencilBuff); GL30.glFramebufferRenderbuffer(GL30.GL_FRAMEBUFFER, GL30.GL_STENCIL_ATTACHMENT, GL30.GL_RENDERBUFFER, stencilBuff); GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, 0); }
From source file:se.angergard.engine.graphics.FrameBuffer.java
License:Apache License
public FrameBuffer(int width, int height, boolean hasDepth, boolean hasStencil) { this.width = width; this.height = height; if ((width + height) % 4 != 0.0) { new Exception("Width + Height must be divisible by 4"); }//from w w w .j a v a 2s . c o m frameBufferID = GL30.glGenFramebuffers(); GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, frameBufferID); if (hasDepth && hasStencil) { depthAndStencilBufferID = GL30.glGenRenderbuffers(); GL30.glBindRenderbuffer(GL30.GL_RENDERBUFFER, depthAndStencilBufferID); GL30.glRenderbufferStorage(GL30.GL_RENDERBUFFER, GL30.GL_DEPTH24_STENCIL8, width, height); GL30.glFramebufferRenderbuffer(GL30.GL_FRAMEBUFFER, GL30.GL_DEPTH_STENCIL_ATTACHMENT, GL30.GL_RENDERBUFFER, depthAndStencilBufferID); GL30.glBindRenderbuffer(GL30.GL_RENDERBUFFER, 0); } else if (hasDepth) { depthBufferID = GL30.glGenRenderbuffers(); GL30.glBindRenderbuffer(GL30.GL_RENDERBUFFER, depthBufferID); GL30.glRenderbufferStorage(GL30.GL_RENDERBUFFER, GL30.GL_DEPTH_COMPONENT32F, width, height); GL30.glFramebufferRenderbuffer(GL30.GL_FRAMEBUFFER, GL30.GL_DEPTH_ATTACHMENT, GL30.GL_RENDERBUFFER, depthBufferID); GL30.glBindRenderbuffer(GL30.GL_RENDERBUFFER, 0); } else if (hasStencil) { stencilBufferID = GL30.glGenRenderbuffers(); GL30.glBindRenderbuffer(GL30.GL_RENDERBUFFER, stencilBufferID); GL30.glRenderbufferStorage(GL30.GL_RENDERBUFFER, GL30.GL_STENCIL_INDEX16, width, height); GL30.glFramebufferRenderbuffer(GL30.GL_FRAMEBUFFER, GL30.GL_STENCIL_ATTACHMENT, GL30.GL_RENDERBUFFER, stencilBufferID); GL30.glBindRenderbuffer(GL30.GL_RENDERBUFFER, 0); } colorTexture = GL11.glGenTextures(); GL11.glBindTexture(GL11.GL_TEXTURE_2D, colorTexture); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_CLAMP); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_CLAMP); 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.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA8, width, height, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, (ByteBuffer) null); GL30.glFramebufferTexture2D(GL30.GL_FRAMEBUFFER, GL30.GL_COLOR_ATTACHMENT0, GL11.GL_TEXTURE_2D, colorTexture, 0); int result = GL30.glCheckFramebufferStatus(GL30.GL_FRAMEBUFFER); GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, 0); if (result != GL30.GL_FRAMEBUFFER_COMPLETE) { if (result == GL30.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) { new Exception("Frame Buffer Error: incomplete attachment").printStackTrace(); } if (result == GL30.GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER) { new Exception("Frame Buffer Error: incomplete draw buffer").printStackTrace(); } if (result == GL30.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT) { new Exception("Frame Buffer Error: missing attachment").printStackTrace(); } if (result == GL30.GL_FRAMEBUFFER_UNSUPPORTED) { new Exception("Frame Buffer Error: unsupported combination of formats").printStackTrace(); } if (result == GL30.GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE) { new Exception("Frame Buffer Error: incomplete multisample").printStackTrace(); } if (result == GL30.GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER) { new Exception("Frame Buffer Error: incomplete read buffer").printStackTrace(); } new Exception("frame buffer couldn't be constructed: unknown error " + result).printStackTrace(); } RenderUtil.unbindFrameBuffer(); RenderUtil.unbindTexture(); frameBufferShader = new ShaderProgram().createDefault2DShader(); }