Example usage for org.lwjgl.opengl GL30 GL_RGBA32UI

List of usage examples for org.lwjgl.opengl GL30 GL_RGBA32UI

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL30 GL_RGBA32UI.

Prototype

int GL_RGBA32UI

To view the source code for org.lwjgl.opengl GL30 GL_RGBA32UI.

Click Source Link

Document

Accepted by the internalFormat parameter of TexImage1D, TexImage2D, and TexImage3D.

Usage

From source file:fr.ign.cogit.geoxygene.appli.gl.RasterImage.java

License:Open Source License

private int generateOptimalGLinternalFormat() {
    if (defColormap) {
        // With a colormap, we must keep pixel information in the shader,
        // only solution, give float to shader
        if (nbBandsSelected == 1)
            return GL30.GL_R32F;
        else if (nbBandsSelected == 2)
            return GL30.GL_RG32F;
        else if (nbBandsSelected == 3)
            return GL30.GL_RGB32F;
        else/*  w  w  w. j  a  v  a 2 s . co  m*/
            return GL30.GL_RGBA32F;
    } else if (GLinternalDataType == GL11.GL_BYTE) {
        if (nbBandsSelected == 1)
            return GL30.GL_R8;
        else if (nbBandsSelected == 2)
            return GL30.GL_RG8;
        else if (nbBandsSelected == 3)
            return GL11.GL_RGB8;
        else
            return GL11.GL_RGBA8;
    } else if (GLinternalDataType == GL11.GL_SHORT) {
        if (nbBandsSelected == 1)
            return GL30.GL_R16;
        else if (nbBandsSelected == 2)
            return GL30.GL_RG16;
        else if (nbBandsSelected == 3)
            return GL11.GL_RGB16;
        else
            return GL11.GL_RGBA16;
    } else if (GLinternalDataType == GL11.GL_INT) {
        if (nbBandsSelected == 1)
            return GL30.GL_R32I;
        else if (nbBandsSelected == 2)
            return GL30.GL_RG32I;
        else if (nbBandsSelected == 3)
            return GL30.GL_RGB32I;
        else
            return GL30.GL_RGBA32I;
    } else if (GLinternalDataType == GL11.GL_FLOAT) {
        if (nbBandsSelected == 1)
            return GL30.GL_R32F;
        else if (nbBandsSelected == 2)
            return GL30.GL_RG32F;
        else if (nbBandsSelected == 3)
            return GL30.GL_RGB32F;
        else
            return GL30.GL_RGBA32F;
    } else if (GLinternalDataType == GL11.GL_DOUBLE) {
        // TODO : check that
        if (nbBandsSelected == 1)
            return GL30.GL_R32F;
        else if (nbBandsSelected == 2)
            return GL30.GL_RG32F;
        else if (nbBandsSelected == 3)
            return GL30.GL_RGB32F;
        else
            return GL30.GL_RGBA32F;
    } else if (GLinternalDataType == GL11.GL_UNSIGNED_BYTE) {
        // TODO check that too
        if (nbBandsSelected == 1)
            return GL30.GL_R8;
        else if (nbBandsSelected == 2)
            return GL30.GL_RG8;
        else if (nbBandsSelected == 3)
            return GL11.GL_RGB8;
        else
            return GL11.GL_RGBA8;
    } else if (GLinternalDataType == GL11.GL_UNSIGNED_SHORT) {
        if (nbBandsSelected == 1)
            return GL30.GL_R16;
        else if (nbBandsSelected == 2)
            return GL30.GL_RG16;
        else if (nbBandsSelected == 3)
            return GL11.GL_RGB16;
        else
            return GL11.GL_RGBA16;
    } else if (GLinternalDataType == GL11.GL_UNSIGNED_INT) {
        if (nbBandsSelected == 1)
            return GL30.GL_R32UI;
        else if (nbBandsSelected == 2)
            return GL30.GL_RG32UI;
        else if (nbBandsSelected == 3)
            return GL30.GL_RGB32UI;
        else
            return GL30.GL_RGBA32UI;
    } else {
        System.err.println("generateOptimalGLinternalFormat() failed to find the correct format");
        return -1; // nothing to do here with that
    }
}