Example usage for org.lwjgl.opengl ARBDepthTexture GL_DEPTH_COMPONENT16_ARB

List of usage examples for org.lwjgl.opengl ARBDepthTexture GL_DEPTH_COMPONENT16_ARB

Introduction

In this page you can find the example usage for org.lwjgl.opengl ARBDepthTexture GL_DEPTH_COMPONENT16_ARB.

Prototype

int GL_DEPTH_COMPONENT16_ARB

To view the source code for org.lwjgl.opengl ARBDepthTexture GL_DEPTH_COMPONENT16_ARB.

Click Source Link

Document

Accepted by the internalFormat parameter of TexImage1D, TexImage2D, CopyTexImage1D and CopyTexImage2D.

Usage

From source file:com.ardor3d.renderer.lwjgl.LwjglTextureRenderer.java

License:Open Source License

@Override
protected void activate() {
    // Lazy init/*ww w .  j ava 2s . c o m*/
    if (_fboID == 0) {
        final IntBuffer buffer = BufferUtils.createIntBuffer(1);

        // Create our texture binding FBO
        EXTFramebufferObject.glGenFramebuffersEXT(buffer); // generate id
        _fboID = buffer.get(0);

        // Create a depth renderbuffer to use for RTT use
        EXTFramebufferObject.glGenRenderbuffersEXT(buffer); // generate id
        _depthRBID = buffer.get(0);
        EXTFramebufferObject.glBindRenderbufferEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, _depthRBID);
        int format = GL11.GL_DEPTH_COMPONENT;
        if (_supportsDepthTexture && _depthBits > 0) {
            switch (_depthBits) {
            case 16:
                format = ARBDepthTexture.GL_DEPTH_COMPONENT16_ARB;
                break;
            case 24:
                format = ARBDepthTexture.GL_DEPTH_COMPONENT24_ARB;
                break;
            case 32:
                format = ARBDepthTexture.GL_DEPTH_COMPONENT32_ARB;
                break;
            default:
                // stick with the "undefined" GL_DEPTH_COMPONENT
            }
        }
        EXTFramebufferObject.glRenderbufferStorageEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, format, _width,
                _height);

        // unbind...
        EXTFramebufferObject.glBindRenderbufferEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, 0);
        EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, 0);

        // If we support it, rustle up a multisample framebuffer + renderbuffers
        if (_samples != 0 && _supportsMultisample) {
            // create ms framebuffer object
            EXTFramebufferObject.glGenFramebuffersEXT(buffer);
            _msfboID = buffer.get(0);

            // create ms renderbuffers
            EXTFramebufferObject.glGenRenderbuffersEXT(buffer); // generate id
            _mscolorRBID = buffer.get(0);
            EXTFramebufferObject.glGenRenderbuffersEXT(buffer); // generate id
            _msdepthRBID = buffer.get(0);

            // set up renderbuffer properties
            EXTFramebufferObject.glBindRenderbufferEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, _mscolorRBID);
            EXTFramebufferMultisample.glRenderbufferStorageMultisampleEXT(
                    EXTFramebufferObject.GL_RENDERBUFFER_EXT, _samples, GL11.GL_RGBA, _width, _height);

            EXTFramebufferObject.glBindRenderbufferEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, _msdepthRBID);
            EXTFramebufferMultisample.glRenderbufferStorageMultisampleEXT(
                    EXTFramebufferObject.GL_RENDERBUFFER_EXT, _samples, format, _width, _height);

            EXTFramebufferObject.glBindRenderbufferEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, 0);

            EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, _msfboID);
            EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT,
                    EXTFramebufferObject.GL_COLOR_ATTACHMENT0_EXT, EXTFramebufferObject.GL_RENDERBUFFER_EXT,
                    _mscolorRBID);
            EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT,
                    EXTFramebufferObject.GL_DEPTH_ATTACHMENT_EXT, EXTFramebufferObject.GL_RENDERBUFFER_EXT,
                    _msdepthRBID);

            // check for errors
            checkFBOComplete(_msfboID);

            // release
            EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, 0);
        }

    }

    if (_active == 0) {

        final RenderContext context = ContextManager.getCurrentContext();
        final RendererRecord record = context.getRendererRecord();

        // needed as FBOs do not share this flag it seems
        record.setClippingTestValid(false);

        // push a delimiter onto the clip stack
        _neededClip = _parentRenderer.isClipTestEnabled();
        if (_neededClip) {
            _parentRenderer.pushEmptyClip();
        }

        GL11.glClearColor(_backgroundColor.getRed(), _backgroundColor.getGreen(), _backgroundColor.getBlue(),
                _backgroundColor.getAlpha());
        EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, _fboID);
        ContextManager.getCurrentContext().pushEnforcedStates();
        ContextManager.getCurrentContext().clearEnforcedStates();
        ContextManager.getCurrentContext().enforceStates(_enforcedStates);
    }
    _active++;
}

From source file:com.ardor3d.scene.state.lwjgl.util.LwjglTextureUtil.java

License:Open Source License

public static int getGLInternalFormat(final TextureStoreFormat format) {
    switch (format) {
    // first some frequently used formats
    case RGBA8://from w  w w.j a  v a 2 s. c  o  m
        return GL11.GL_RGBA8;
    case RGB8:
        return GL11.GL_RGB8;
    case Alpha8:
        return GL11.GL_ALPHA8;
    case CompressedRGBA:
        return ARBTextureCompression.GL_COMPRESSED_RGBA_ARB;
    case CompressedRGB:
        return ARBTextureCompression.GL_COMPRESSED_RGB_ARB;
    case CompressedRG:
        return GL30.GL_COMPRESSED_RG;
    case CompressedRed:
        return GL30.GL_COMPRESSED_RED;
    case CompressedLuminance:
        return ARBTextureCompression.GL_COMPRESSED_LUMINANCE_ARB;
    case CompressedLuminanceAlpha:
        return ARBTextureCompression.GL_COMPRESSED_LUMINANCE_ALPHA_ARB;
    case NativeDXT1:
        return EXTTextureCompressionS3TC.GL_COMPRESSED_RGB_S3TC_DXT1_EXT;
    case NativeDXT1A:
        return EXTTextureCompressionS3TC.GL_COMPRESSED_RGBA_S3TC_DXT1_EXT;
    case NativeDXT3:
        return EXTTextureCompressionS3TC.GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
    case NativeDXT5:
        return EXTTextureCompressionS3TC.GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
    case NativeLATC_L:
        return EXTTextureCompressionLATC.GL_COMPRESSED_LUMINANCE_LATC1_EXT;
    case NativeLATC_LA:
        return EXTTextureCompressionLATC.GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT;

    // The rest...
    case Alpha4:
        return GL11.GL_ALPHA4;
    case Alpha12:
        return GL11.GL_ALPHA12;
    case Alpha16:
        return GL11.GL_ALPHA16;
    case Luminance4:
        return GL11.GL_LUMINANCE4;
    case Luminance8:
        return GL11.GL_LUMINANCE8;
    case Luminance12:
        return GL11.GL_LUMINANCE12;
    case Luminance16:
        return GL11.GL_LUMINANCE16;
    case Intensity4:
        return GL11.GL_INTENSITY4;
    case Intensity8:
        return GL11.GL_INTENSITY8;
    case Intensity12:
        return GL11.GL_INTENSITY12;
    case Intensity16:
        return GL11.GL_INTENSITY16;
    case Luminance4Alpha4:
        return GL11.GL_LUMINANCE4_ALPHA4;
    case Luminance6Alpha2:
        return GL11.GL_LUMINANCE6_ALPHA2;
    case Luminance8Alpha8:
        return GL11.GL_LUMINANCE8_ALPHA8;
    case Luminance12Alpha4:
        return GL11.GL_LUMINANCE12_ALPHA4;
    case Luminance12Alpha12:
        return GL11.GL_LUMINANCE12_ALPHA12;
    case Luminance16Alpha16:
        return GL11.GL_LUMINANCE16_ALPHA16;
    case R3G3B2:
        return GL11.GL_R3_G3_B2;
    case RGB4:
        return GL11.GL_RGB4;
    case RGB5:
        return GL11.GL_RGB5;
    case RGB10:
        return GL11.GL_RGB10;
    case RGB12:
        return GL11.GL_RGB12;
    case RGB16:
        return GL11.GL_RGB16;
    case RGBA2:
        return GL11.GL_RGBA2;
    case RGBA4:
        return GL11.GL_RGBA4;
    case RGB5A1:
        return GL11.GL_RGB5_A1;
    case RGB10A2:
        return GL11.GL_RGB10_A2;
    case RGBA12:
        return GL11.GL_RGBA12;
    case RGBA16:
        return GL11.GL_RGBA16;
    case Depth:
        return GL11.GL_DEPTH_COMPONENT;
    case Depth16:
        return ARBDepthTexture.GL_DEPTH_COMPONENT16_ARB;
    case Depth24:
        return ARBDepthTexture.GL_DEPTH_COMPONENT24_ARB;
    case Depth32:
        return ARBDepthTexture.GL_DEPTH_COMPONENT32_ARB;
    case Depth32F:
        return ARBDepthBufferFloat.GL_DEPTH_COMPONENT32F;
    case RGB16F:
        return ARBTextureFloat.GL_RGB16F_ARB;
    case RGB32F:
        return ARBTextureFloat.GL_RGB32F_ARB;
    case RGBA16F:
        return ARBTextureFloat.GL_RGBA16F_ARB;
    case RGBA32F:
        return ARBTextureFloat.GL_RGBA32F_ARB;
    case Alpha16F:
        return ARBTextureFloat.GL_ALPHA16F_ARB;
    case Alpha32F:
        return ARBTextureFloat.GL_ALPHA32F_ARB;
    case Luminance16F:
        return ARBTextureFloat.GL_LUMINANCE16F_ARB;
    case Luminance32F:
        return ARBTextureFloat.GL_LUMINANCE32F_ARB;
    case LuminanceAlpha16F:
        return ARBTextureFloat.GL_LUMINANCE_ALPHA16F_ARB;
    case LuminanceAlpha32F:
        return ARBTextureFloat.GL_LUMINANCE_ALPHA32F_ARB;
    case Intensity16F:
        return ARBTextureFloat.GL_INTENSITY16F_ARB;
    case Intensity32F:
        return ARBTextureFloat.GL_INTENSITY32F_ARB;
    case R8:
        return ARBTextureRg.GL_R8;
    case R16:
        return ARBTextureRg.GL_R16;
    case RG8:
        return ARBTextureRg.GL_RG8;
    case RG16:
        return ARBTextureRg.GL_RG16;
    case R16F:
        return ARBTextureRg.GL_R16F;
    case R32F:
        return ARBTextureRg.GL_R32F;
    case RG16F:
        return ARBTextureRg.GL_RG16F;
    case RG32F:
        return ARBTextureRg.GL_RG32F;
    case R8I:
        return ARBTextureRg.GL_R8I;
    case R8UI:
        return ARBTextureRg.GL_R8UI;
    case R16I:
        return ARBTextureRg.GL_R16I;
    case R16UI:
        return ARBTextureRg.GL_R16UI;
    case R32I:
        return ARBTextureRg.GL_R32I;
    case R32UI:
        return ARBTextureRg.GL_R32UI;
    case RG8I:
        return ARBTextureRg.GL_RG8I;
    case RG8UI:
        return ARBTextureRg.GL_RG8UI;
    case RG16I:
        return ARBTextureRg.GL_RG16I;
    case RG16UI:
        return ARBTextureRg.GL_RG16UI;
    case RG32I:
        return ARBTextureRg.GL_RG32I;
    case RG32UI:
        return ARBTextureRg.GL_RG32UI;
    default:
        break;
    }
    throw new IllegalArgumentException("Incorrect format set: " + format);
}