Example usage for org.lwjgl.opengl GL13 glActiveTexture

List of usage examples for org.lwjgl.opengl GL13 glActiveTexture

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL13 glActiveTexture.

Prototype

public static void glActiveTexture(@NativeType("GLenum") int texture) 

Source Link

Document

Selects which texture unit subsequent texture state calls will affect.

Usage

From source file:fr.veridiangames.client.rendering.renderers.guis.FontRenderer.java

License:Open Source License

public void render(GuiShader shader, Color4f color, float dropShadow) {
    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    font.fontTexture.bind(shader);//from  w w  w . j av  a2 s.  c om

    if (dropShadow != 0) {
        shader.setModelViewMatrix(Mat4.translate(x + dropShadow, y + dropShadow, 0));
        shader.setColor(0, 0, 0, 0.8f * color.getAlpha());
        glEnableVertexAttribArray(0);
        glEnableVertexAttribArray(1);
        glBindBuffer(GL_ARRAY_BUFFER, vbo);
        glVertexAttribPointer(0, 3, GL_FLOAT, false, 5 * 4, 0);
        glVertexAttribPointer(1, 2, GL_FLOAT, false, 5 * 4, 12);
        glDrawArrays(GL_QUADS, 0, text.length() * 4);
        glEnableVertexAttribArray(1);
        glEnableVertexAttribArray(0);
    }

    shader.setModelViewMatrix(Mat4.translate(x, y, 0));
    shader.setColor(color);
    glEnableVertexAttribArray(0);
    glEnableVertexAttribArray(1);
    glBindBuffer(GL_ARRAY_BUFFER, vbo);
    glVertexAttribPointer(0, 3, GL_FLOAT, false, 5 * 4, 0);
    glVertexAttribPointer(1, 2, GL_FLOAT, false, 5 * 4, 12);
    glDrawArrays(GL_QUADS, 0, text.length() * 4);
    glEnableVertexAttribArray(1);
    glEnableVertexAttribArray(0);

    Texture.unbind(shader);
}

From source file:game.entity.lwjgl.EntityRenderer.java

private void prepareTexturedModel(TexturedModel model) {
    RawModel rawModel = model.getRawModel();
    if (rawModel.doesContainInvertedNormals()) {
        GL11.glDisable(GL11.GL_CULL_FACE);
    }/* ww w  .  ja v  a  2  s.  c  o m*/
    GL30.glBindVertexArray(rawModel.getVaoID());
    GL20.glEnableVertexAttribArray(VERTEX_POSITIONS);
    GL20.glEnableVertexAttribArray(TEXTURE_COORDS);
    GL20.glEnableVertexAttribArray(NORMAL_VECTORS);
    this.loadUniformFloat("shineDamper", model.getModelTexture().getShineDamper());
    this.loadUniformFloat("reflectivity", model.getModelTexture().getReflectivity());
    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, model.getModelTexture().getTextureID());

}

From source file:game.skybox.lwjgl.SkyboxRenderer.java

public void render() {
    GL30.glBindVertexArray(cube.getVaoID());
    GL20.glEnableVertexAttribArray(0);//ww w.  j  a  v a 2  s.  co  m
    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    GL11.glBindTexture(GL13.GL_TEXTURE_CUBE_MAP, texture);
    GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, cube.getVertexCount());
    GL20.glDisableVertexAttribArray(0);
    GL30.glBindVertexArray(0);
}

From source file:game.terrain.lwjgl.TerrainRenderer.java

/**
 *
 * @param terrain//from  w  w w. j  a  va2  s .  c  o  m
 */
private void bindTextures(Terrain terrain) {
    TerrainTexturePack texturePack = terrain.getTexturePack();
    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, texturePack.getBackgroundTexture().getTextureID());
    GL13.glActiveTexture(GL13.GL_TEXTURE1);
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, texturePack.getrTexture().getTextureID());
    GL13.glActiveTexture(GL13.GL_TEXTURE2);
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, texturePack.getgTexture().getTextureID());
    GL13.glActiveTexture(GL13.GL_TEXTURE3);
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, texturePack.getbTexture().getTextureID());
    GL13.glActiveTexture(GL13.GL_TEXTURE4);
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, terrain.getBlendMap().getTextureID());
}

From source file:gui.lwjgl.GUIRenderer.java

@Override
public void render(GUIRenderable element) {
    GL30.glBindVertexArray(element.getGUIElement().getVaoID());
    GL20.glEnableVertexAttribArray(VERTEX_POSITIONS);
    GL20.glEnableVertexAttribArray(TEXTURE_COORDS);

    Matrix4f transformationMatrix = Maths.createTransformationMatrix(
            new Vector2f(((2.0f * element.getGUIElement().getPosition().x) / Display.getWidth() - 1),
                    -1 * ((2.0f * element.getGUIElement().getPosition().y) / Display.getHeight()) + 1f),
            element.getGUIElement().getRotation(),
            element.getGUIElement().getWidth() / (float) (Display.getWidth() / 2),
            element.getGUIElement().getHeight() / (float) (Display.getHeight() / 2));

    this.loadUniformMatrix("transformationMatrix", transformationMatrix);

    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, element.getGUIElement().getTexture().getTextureID());
    GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, 6);

    GL20.glDisableVertexAttribArray(VERTEX_POSITIONS);
    GL20.glDisableVertexAttribArray(TEXTURE_COORDS);
    GL30.glBindVertexArray(0);/*from  ww  w  .j  a v a  2 s  . c o  m*/
}

From source file:hud.StatusOverlay.java

License:Open Source License

public void draw() {
    int energy = Math.round(player.getMech().getEnergy() * 2.56f);
    int armour = Math.round(player.getMech().getArmour() * 2.56f);
    int baseArmour = player.getHomeBase().getLife();
    int ammo = Math.round(player.getMech().getAmmo() * 2.56f);
    baseStatus.setValue(baseArmour);// w w  w .j a va 2  s . com

    if (player.getUnitOrder() != null) {
        if (player.getUnitOrder().ready()) {
            orderReadyIcon.bind();
        } else {
            orderProcessingIcon.bind();
        }
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
        GL11.glBegin(GL11.GL_QUADS);
        GL11.glTexCoord2f(0, 0);
        GL11.glVertex2i(384, 16);
        GL11.glTexCoord2f(0, 1);
        GL11.glVertex2i(384, 48);
        GL11.glTexCoord2f(1, 1);
        GL11.glVertex2i(384 + 32, 48);
        GL11.glTexCoord2f(1, 0);
        GL11.glVertex2i(384 + 32, 16);
        GL11.glEnd();
        GL11.glDisable(GL11.GL_BLEND);
    }

    GL11.glDisable(GL11.GL_LIGHTING);
    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    GL11.glDisable(GL11.GL_TEXTURE_2D);
    GL13.glActiveTexture(GL13.GL_TEXTURE1);
    GL11.glDisable(GL11.GL_TEXTURE_2D);
    energyStatus.draw();
    armourStatus.draw();
    baseStatus.draw();
    ammoStatus.draw();

}

From source file:illarion.client.graphics.WeatherRenderer.java

License:Open Source License

/**
 * This function applies the post processing to the image.
 *
 * @param renderImage the image that is rendered to the screen, this image remains unchanged
 * @return the new image with the post processed graphics
 *///from  w  w  w .java 2s.  c om
public Image postProcess(@Nonnull final Image renderImage) throws SlickException {
    load();

    Image currentImage = renderImage;

    if (World.getWeather().isFog() && World.getWeather().isOutside()) {
        final Image tempImage = getNextProcessImage(renderImage.getWidth(), renderImage.getHeight());
        final Graphics g = tempImage.getGraphics();
        Graphics.setCurrent(g);

        fogShader.bind();
        fogShader.setTexture(0);
        final float x = 0.5f * renderImage.getTextureWidth();
        final float y = 0.5f * renderImage.getTextureHeight();
        fogShader.setCenter(x, y);
        fogShader.setDensity(World.getWeather().getFog() * ((float) renderImage.getHeight() / 200.f));

        g.drawImage(currentImage, 0, 0);

        fogShader.unbind();

        currentImage = tempImage;
    }

    if (World.getWeather().isRain() && World.getWeather().isOutside()) {
        final Image tempImage = getNextProcessImage(renderImage.getWidth(), renderImage.getHeight());
        final Graphics g = tempImage.getGraphics();
        Graphics.setCurrent(g);

        GL13.glActiveTexture(GL13.GL_TEXTURE1);
        rainTexture.bind();
        GL13.glActiveTexture(GL13.GL_TEXTURE0);
        renderImage.bind();

        rainShader.bind();
        rainShader.setBackgroundTexture(0);
        rainShader.setRainTexture(1);
        rainShader.setRainTextureOffset(rainTexture.getTextureOffsetX(), rainTexture.getTextureOffsetY());
        rainShader.setRainTextureSize(rainTexture.getTextureWidth(), rainTexture.getTextureHeight());
        rainShader.setRainTextureScale(
                (float) renderImage.getTexture().getTextureWidth()
                        / (float) rainTexture.getTexture().getTextureWidth(),
                (float) renderImage.getTexture().getTextureHeight()
                        / (float) rainTexture.getTexture().getTextureHeight());
        rainShader.setIntensity(World.getWeather().getRain() / 100.f);
        rainShader.setGustStrength(Math.abs(World.getWeather().getGusts()) / 100.f);
        rainShader.setWindDirection(World.getWeather().getWind() / 100.f);
        rainShader.setAnimation(rainDropping);
        rainShader.setGustAnimation(gustAnimation);
        rainShader.setMapOffset(Camera.getInstance().getViewportOffsetX(),
                Camera.getInstance().getViewportOffsetY());

        g.drawImage(currentImage, 0, 0);

        rainShader.unbind();
        currentImage = tempImage;
    }

    return currentImage;
}

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

License:Apache License

public static void glActiveTexture(int texture) {
    GL13.glActiveTexture(texture);
}

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

License:Open Source License

/**
 * Restore the old OpenGL state that's backed up in {@code state}.
 * @param state the old state to restore
 *///from  www  .j  a v  a2  s . c  om
private void endRender(RenderState state) {
    GL11.glMatrixMode(GL11.GL_PROJECTION);
    GL11.glPopMatrix();
    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glPopMatrix();
    GL11.glEnable(GL11.GL_BLEND);
    GL20.glUseProgram(state.oldProgram);
    GL13.glActiveTexture(state.texUnit);
    GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, state.oldArrayBuffer);
    if (!state.depthWriteEnabled)
        GL11.glDepthMask(false);
    if (!state.depthEnabled)
        GL11.glDisable(GL11.GL_DEPTH_TEST);
    if (state.texEnabled)
        GL11.glEnable(GL11.GL_TEXTURE_2D);
    if (state.smoothedPoly)
        GL11.glEnable(GL11.GL_POLYGON_SMOOTH);
    if (!state.blendEnabled)
        GL11.glDisable(GL11.GL_BLEND);
}

From source file:ivengine.Util.java

License:Creative Commons License

/**
 * Loads a texture from a URL <filename> into a texture unit <textureUnit>
 *///w w  w .  j  a  v a2 s  .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;
}