Example usage for org.lwjgl.opengl GL11 glTexImage2D

List of usage examples for org.lwjgl.opengl GL11 glTexImage2D

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL11 glTexImage2D.

Prototype

public static void glTexImage2D(@NativeType("GLenum") int target, @NativeType("GLint") int level,
        @NativeType("GLint") int internalformat, @NativeType("GLsizei") int width,
        @NativeType("GLsizei") int height, @NativeType("GLint") int border, @NativeType("GLenum") int format,
        @NativeType("GLenum") int type, @Nullable @NativeType("void const *") double[] pixels) 

Source Link

Document

Array version of: #glTexImage2D TexImage2D

Usage

From source file:io.root.gfx.glutils.GL.java

License:Apache License

public static void glTexImage2D(int target, int i, int dstPixelFormat, int width, int height, int j,
        int srcPixelFormat, int glUnsignedByte, ByteBuffer textureBuffer) {
    GL11.glTexImage2D(target, i, dstPixelFormat, width, height, j, srcPixelFormat, glUnsignedByte,
            textureBuffer);/* www .  java  2s. c  om*/
}

From source file:io.root.gfx.glutils.GL.java

License:Apache License

public static void glTexImage2D(int target, int level, int internalformat, int width, int height, int border,
        int format, int type, Buffer pixels) {
    if (pixels == null)
        GL11.glTexImage2D(target, level, internalformat, width, height, border, format, type,
                (ByteBuffer) null);
    else if (pixels instanceof ByteBuffer)
        GL11.glTexImage2D(target, level, internalformat, width, height, border, format, type,
                (ByteBuffer) pixels);
    else if (pixels instanceof ShortBuffer)
        GL11.glTexImage2D(target, level, internalformat, width, height, border, format, type,
                (ShortBuffer) pixels);
    else if (pixels instanceof IntBuffer)
        GL11.glTexImage2D(target, level, internalformat, width, height, border, format, type,
                (IntBuffer) pixels);
    else if (pixels instanceof FloatBuffer)
        GL11.glTexImage2D(target, level, internalformat, width, height, border, format, type,
                (FloatBuffer) pixels);
    else if (pixels instanceof DoubleBuffer)
        GL11.glTexImage2D(target, level, internalformat, width, height, border, format, type,
                (DoubleBuffer) pixels);
    else/*from w w w .j a  va  2s . c  o  m*/
        throw new RootException("Can't use " + pixels.getClass().getName()
                + " with this method. Use ByteBuffer, ShortBuffer, IntBuffer, FloatBuffer or DoubleBuffer instead. ");
}

From source file:ion2d.INTexture2D.java

License:Open Source License

/**
 * Creates the actual OpenGL texture to memory
 *///  w w w  .j  a v a2  s.  co m
protected void createTexture() {
    this.convertToPowerOfTwo();

    if (this.texture != null) {
        IntBuffer tmp = BufferUtils.createIntBuffer(1);
        GL11.glGenTextures(tmp);
        this.id = tmp.get(0);
        this.bind();

        int src = GL11.GL_RGBA;

        if (!this.image.getBufferedImage().getColorModel().hasAlpha()) {
            src = GL11.GL_RGB;
        }

        GL11.glPixelStorei(GL11.GL_UNPACK_ALIGNMENT, 1);

        this.setAntiAlias();
        GL11.glTexEnvf(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, GL11.GL_MODULATE);

        GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, src, this.width, this.height, 0, src, GL11.GL_UNSIGNED_BYTE,
                this.texture);
    }
}

From source file:itdelatrisu.opsu.render.Rendertarget.java

License:Open Source License

/**
 * Creates a Rendertarget with a Texture that it renders the color buffer in
 * and a renderbuffer that it renders the depth to.
 * @param width the width//from  w  w w  .j  av  a2 s .c  o  m
 * @param height the height
*/
public static Rendertarget createRTTFramebuffer(int width, int height) {
    int old_framebuffer = GL11.glGetInteger(EXTFramebufferObject.GL_FRAMEBUFFER_BINDING_EXT);
    int old_texture = GL11.glGetInteger(GL11.GL_TEXTURE_BINDING_2D);
    Rendertarget buffer = new Rendertarget(width, height);
    buffer.bind();

    int fboTexture = buffer.textureID;
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, fboTexture);
    GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, 4, width, height, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_INT,
            (ByteBuffer) null);
    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);

    EXTFramebufferObject.glBindRenderbufferEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, buffer.depthBufferID);
    EXTFramebufferObject.glRenderbufferStorageEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT,
            GL11.GL_DEPTH_COMPONENT, width, height);
    EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT,
            EXTFramebufferObject.GL_DEPTH_ATTACHMENT_EXT, EXTFramebufferObject.GL_RENDERBUFFER_EXT,
            buffer.depthBufferID);

    EXTFramebufferObject.glFramebufferTexture2DEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT,
            EXTFramebufferObject.GL_COLOR_ATTACHMENT0_EXT, GL11.GL_TEXTURE_2D, fboTexture, 0);

    GL11.glBindTexture(GL11.GL_TEXTURE_2D, old_texture);
    EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, old_framebuffer);

    return buffer;
}

From source file:itemrender.client.rendering.FBOHelper.java

License:MIT License

private void createFramebuffer() {
    framebufferID = EXTFramebufferObject.glGenFramebuffersEXT();
    textureID = GL11.glGenTextures();//from ww  w.  j a  va 2  s .co  m
    int currentFramebuffer = GL11.glGetInteger(EXTFramebufferObject.GL_FRAMEBUFFER_BINDING_EXT);
    int currentTexture = GL11.glGetInteger(GL11.GL_TEXTURE_BINDING_2D);

    EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, framebufferID);

    // Set our texture up, empty.
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, textureID);
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL12.GL_CLAMP_TO_EDGE);
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL12.GL_CLAMP_TO_EDGE);
    GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA, renderTextureSize, renderTextureSize, 0,
            GL12.GL_BGRA, GL11.GL_UNSIGNED_BYTE, (java.nio.ByteBuffer) null);

    // Restore old texture
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, currentTexture);

    // Create depth buffer
    depthbufferID = EXTFramebufferObject.glGenRenderbuffersEXT();
    EXTFramebufferObject.glBindRenderbufferEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT, depthbufferID);
    EXTFramebufferObject.glRenderbufferStorageEXT(EXTFramebufferObject.GL_RENDERBUFFER_EXT,
            GL11.GL_DEPTH_COMPONENT, renderTextureSize, renderTextureSize);

    // Bind depth buffer to the framebuffer
    EXTFramebufferObject.glFramebufferRenderbufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT,
            EXTFramebufferObject.GL_DEPTH_ATTACHMENT_EXT, EXTFramebufferObject.GL_RENDERBUFFER_EXT,
            depthbufferID);

    // Bind our texture to the framebuffer
    EXTFramebufferObject.glFramebufferTexture2DEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT,
            EXTFramebufferObject.GL_COLOR_ATTACHMENT0_EXT, GL11.GL_TEXTURE_2D, textureID, 0);

    // Revert to default framebuffer
    EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, currentFramebuffer);
}

From source file:ivengine.Util.java

License:Creative Commons License

/**
 * Loads a texture from a URL <filename> into a texture unit <textureUnit>
 */// w  ww .  jav  a  2s  .  c  o  m
public static int loadPNGTexture(URL filename, int textureUnit) {
    ByteBuffer buf = null;
    int tWidth = 0;
    int tHeight = 0;

    try {
        // Open the PNG file as an InputStream
        InputStream in = filename.openStream();
        // Link the PNG decoder to this stream
        PNGDecoder decoder = new PNGDecoder(in);

        // Get the width and height of the texture
        tWidth = decoder.getWidth();
        tHeight = decoder.getHeight();

        // Decode the PNG file in a ByteBuffer
        buf = ByteBuffer.allocateDirect(4 * decoder.getWidth() * decoder.getHeight());
        decoder.decode(buf, decoder.getWidth() * 4, Format.RGBA);
        buf.flip();

        in.close();
    } catch (IOException e) {
        e.printStackTrace();
        System.exit(-1);
    }

    // Create a new texture object in memory and bind it
    int texId = GL11.glGenTextures();
    GL13.glActiveTexture(textureUnit);
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, texId);

    // All RGB bytes are aligned to each other and each component is 1 byte
    GL11.glPixelStorei(GL11.GL_UNPACK_ALIGNMENT, 1);

    // Upload the texture data and generate mip maps (for scaling)
    GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGB, tWidth, tHeight, 0, GL11.GL_RGBA,
            GL11.GL_UNSIGNED_BYTE, buf);
    //GL30.glGenerateMipmap(GL11.GL_TEXTURE_2D);

    // Setup the ST coordinate system
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_REPEAT);
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_REPEAT);

    // Setup what to do when the texture has to be scaled
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
    GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);

    return texId;
}

From source file:jake2.desktop.LWJGLAdapter.java

License:Open Source License

public void glTexImage2D(int target, int level, int internalformat, int width, int height, int border,
        int format, int type, ByteBuffer pixels) {
    GL11.glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
}

From source file:jake2.desktop.LWJGLAdapter.java

License:Open Source License

public void glTexImage2D(int target, int level, int internalformat, int width, int height, int border,
        int format, int type, IntBuffer pixels) {
    GL11.glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
}

From source file:jpcsp.graphics.RE.RenderingEngineLwjgl.java

License:Open Source License

@Override
public void setTexImagexBRZ(int level, int internalFormat, int width, int height, int bufwidth, int format,
        int type, int textureSize, Buffer buffer) {
    if (buffer == null) {
        GL11.glTexImage2D(GL11.GL_TEXTURE_2D, level, textureInternalFormatToGL[internalFormat], width, height,
                0, textureFormatToGL[format], textureTypeToGL[type],
                getDirectBuffer(textureSize, (ByteBuffer) buffer));
    } else if (buffer instanceof ByteBuffer) {
        if (bufwidth != -1) {
            ByteBuffer tmpbuf = DirectBufferUtilities.getDirectBuffer(textureSize, (ByteBuffer) buffer);
            int length = tmpbuf.remaining();
            byte[] buf = new byte[length];
            tmpbuf.get(buf);/*from ww w  . j a  v a  2 s .c om*/
            XBRZNativeFilter.ScaleandSetTexImage(2, buf, level, textureInternalFormatToGL[internalFormat],
                    width, height, bufwidth, textureFormatToGL[format], textureTypeToGL[type]);
        } else {
            GL11.glTexImage2D(GL11.GL_TEXTURE_2D, level, textureInternalFormatToGL[internalFormat], width,
                    height, 0, textureFormatToGL[format], textureTypeToGL[type],
                    getDirectBuffer(textureSize, (ByteBuffer) buffer));
        }
    } else if (buffer instanceof IntBuffer) {
        if (bufwidth != -1) {
            IntBuffer tmpbuf = DirectBufferUtilities.getDirectBuffer(textureSize, (IntBuffer) buffer);
            int length = tmpbuf.remaining();
            int[] buf = new int[length];
            tmpbuf.get(buf);
            XBRZNativeFilter.ScaleandSetTexImage(2, buf, level, textureInternalFormatToGL[internalFormat],
                    width, height, bufwidth, textureFormatToGL[format], textureTypeToGL[type]);
        } else {
            GL11.glTexImage2D(GL11.GL_TEXTURE_2D, level, textureInternalFormatToGL[internalFormat], width,
                    height, 0, textureFormatToGL[format], textureTypeToGL[type],
                    getDirectBuffer(textureSize, (IntBuffer) buffer));
        }
    } else if (buffer instanceof ShortBuffer) {
        if (bufwidth != -1) {
            ShortBuffer tmpbuf = DirectBufferUtilities.getDirectBuffer(textureSize, (ShortBuffer) buffer);
            int length = tmpbuf.remaining();
            short[] buf = new short[length];
            tmpbuf.get(buf);
            XBRZNativeFilter.ScaleandSetTexImage(2, buf, level, textureInternalFormatToGL[internalFormat],
                    width, height, bufwidth, textureFormatToGL[format], textureTypeToGL[type]);
        } else {
            GL11.glTexImage2D(GL11.GL_TEXTURE_2D, level, textureInternalFormatToGL[internalFormat], width,
                    height, 0, textureFormatToGL[format], textureTypeToGL[type],
                    getDirectBuffer(textureSize, (ShortBuffer) buffer));
        }
    } else if (buffer instanceof FloatBuffer) {
        if (bufwidth != -1) {
            FloatBuffer tmpbuf = DirectBufferUtilities.getDirectBuffer(textureSize, (FloatBuffer) buffer);
            int length = tmpbuf.remaining();
            float[] buf = new float[length];
            tmpbuf.get(buf);
            XBRZNativeFilter.ScaleandSetTexImage(2, buf, level, textureInternalFormatToGL[internalFormat],
                    width, height, bufwidth, textureFormatToGL[format], textureTypeToGL[type]);
        } else {
            GL11.glTexImage2D(GL11.GL_TEXTURE_2D, level, textureInternalFormatToGL[internalFormat], width,
                    height, 0, textureFormatToGL[format], textureTypeToGL[type],
                    getDirectBuffer(textureSize, (FloatBuffer) buffer));
        }
    } else {
        throw new IllegalArgumentException();
    }
}

From source file:jpcsp.graphics.RE.RenderingEngineLwjgl.java

License:Open Source License

@Override
public void setTexImage(int level, int internalFormat, int width, int height, int format, int type,
        int textureSize, Buffer buffer) {
    if (buffer instanceof ByteBuffer || buffer == null) {
        GL11.glTexImage2D(GL11.GL_TEXTURE_2D, level, textureInternalFormatToGL[internalFormat], width, height,
                0, textureFormatToGL[format], textureTypeToGL[type],
                getDirectBuffer(textureSize, (ByteBuffer) buffer));
    } else if (buffer instanceof IntBuffer) {
        GL11.glTexImage2D(GL11.GL_TEXTURE_2D, level, textureInternalFormatToGL[internalFormat], width, height,
                0, textureFormatToGL[format], textureTypeToGL[type],
                getDirectBuffer(textureSize, (IntBuffer) buffer));
    } else if (buffer instanceof ShortBuffer) {
        GL11.glTexImage2D(GL11.GL_TEXTURE_2D, level, textureInternalFormatToGL[internalFormat], width, height,
                0, textureFormatToGL[format], textureTypeToGL[type],
                getDirectBuffer(textureSize, (ShortBuffer) buffer));
    } else if (buffer instanceof FloatBuffer) {
        GL11.glTexImage2D(GL11.GL_TEXTURE_2D, level, textureInternalFormatToGL[internalFormat], width, height,
                0, textureFormatToGL[format], textureTypeToGL[type],
                getDirectBuffer(textureSize, (FloatBuffer) buffer));
    } else {//from  w w  w  . j  a va2s  .co m
        throw new IllegalArgumentException();
    }
}