Example usage for org.lwjgl.opengl GL13 GL_TEXTURE0

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

Introduction

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

Prototype

int GL_TEXTURE0

To view the source code for org.lwjgl.opengl GL13 GL_TEXTURE0.

Click Source Link

Document

Accepted by the texture parameter of ActiveTexture and MultiTexCoord.

Usage

From source file:eu.over9000.veya.rendering.Scene.java

License:Open Source License

public void render() {
    this.checkCameraPosition();

    ChunkChunkVAOPair addEntry;//from w  w  w .  j  a  v a2 s  . c  om
    while ((addEntry = this.toAdd.poll()) != null) {
        addEntry.getChunkVAO().create();
        this.displayedChunks.put(addEntry.getChunk(), addEntry.getChunkVAO());
    }

    ChunkChunkVAOPair removeEntry;
    while ((removeEntry = this.toRemove.poll()) != null) {
        this.displayedChunks.remove(removeEntry.getChunk());
        removeEntry.getChunkVAO().dispose();
    }

    ChunkChunkVAOPair updatedEntry;
    while ((updatedEntry = this.updatedUpdateOffRender.poll()) != null) {
        updatedEntry.getChunkVAO().create();
        final ChunkVAO oldVAO = this.displayedChunks.put(updatedEntry.getChunk(), updatedEntry.getChunkVAO());
        if (oldVAO != null) {
            oldVAO.dispose();
        }
    }

    int updates = 0;
    for (final Chunk chunk : displayedChunks.keySet()) {
        if (world.hasChunkChanged(chunk)) {
            if (chunk.getLocation().nextTo(centerChunk)) {

                final ChunkVAO newVAO = new ChunkVAO(chunk);
                final ChunkVAO oldVAO = this.displayedChunks.put(chunk, newVAO);
                oldVAO.dispose();
                newVAO.create();
                chunkUpdateCounterInRender.incrementAndGet();
                updates++;
                if (updates > MAX_CHUNK_UPDATES_PER_FRAME) {
                    break;
                }
            } else {
                toUpdateOffRender.add(chunk);
            }
        }
    }

    shadow.preRender();
    Util.checkGLError();
    internalRender(false);
    Util.checkGLError();
    shadow.postRender();
    Util.checkGLError();

    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    GL11.glBindTexture(GL30.GL_TEXTURE_2D_ARRAY, this.texture_handle);
    internalRender(true);

    if (Veya.debugShadow) {
        Veya.program_debug.use(true);
        GL20.glUniform1f(Veya.program_debug.getUniformLocation("near_plane"), Shadow.SHADOW_NEAR);
        GL20.glUniform1f(Veya.program_debug.getUniformLocation("far_plane"), Shadow.SHADOW_FAR);
        GL13.glActiveTexture(GL13.GL_TEXTURE0);
        GL11.glBindTexture(GL11.GL_TEXTURE_2D, shadow.getDepthMap());

        shadow.renderQuad();

    }

    Veya.program_normal.use(true);
}

From source file:flash.display.ShaderInput.java

License:Open Source License

public void JITB$applyInput(final int programId) {
    if (null != input() && InputType.NONE.equals(_inputType)) {
        return;// w  ww  . ja  v  a 2s .  c o m
    }

    final int textureLocation = ARBShaderObjects.glGetUniformLocationARB(programId, "tex" + index());
    ARBShaderObjects.glUniform1iARB(textureLocation, index());

    switch (_inputType) {
    case BITMAPDATA:
        GL13.glActiveTexture(GL13.GL_TEXTURE0 + index());
        glBindTexture(TextureUtil.mode(), ((BitmapData) input()).JITB$textureId());
        break;

    default:
        //
        // System.out.println("Warning: Unhandled input type "+_inputType+".");
        //
    }
}

From source file:flash.display.ShaderInput.java

License:Open Source License

public void JITB$unapplyInput() {
    GL13.glActiveTexture(GL13.GL_TEXTURE0 + index());
    glBindTexture(TextureUtil.mode(), 0);
}

From source file:fr.guillaume.prive.viper.core.graphic.GraphicMotor.java

public static void draw() {
    GraphicMotor.checkInstance();//from  w  w w . j a  v  a 2 s  .com

    GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    GL20.glUseProgram(instance.shipShaderId);

    GL20.glUniform1i(instance.useTextureLocation, instance.drawPolygonFrame ? 0 : 1);
    int drawStyle = instance.drawPolygonFrame ? GL11.GL_LINE_LOOP : GL11.GL_TRIANGLES;

    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, instance.shipTextureId);
    GL30.glBindVertexArray(instance.shipVaoId);
    GL20.glEnableVertexAttribArray(0);
    GL20.glEnableVertexAttribArray(1);
    GL20.glEnableVertexAttribArray(2);
    GL20.glEnableVertexAttribArray(3);
    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, instance.shipVboiId);
    GL11.glDrawElements(drawStyle, instance.shipVboiLenght, GL11.GL_UNSIGNED_INT, 0);

    GL20.glDisableVertexAttribArray(0);
    GL20.glDisableVertexAttribArray(1);
    GL20.glDisableVertexAttribArray(2);
    GL20.glDisableVertexAttribArray(3);
    GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0);
    GL30.glBindVertexArray(0);
    GL20.glUseProgram(0);
}

From source file:fr.guillaume.prive.viper.core.graphic.GraphicMotor.java

private static void setupTextures() {
    instance.shipTextureId = PNGTextureLoader.loadTexture("resources/model/fighter.png", GL13.GL_TEXTURE0);
}

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

License:Open Source License

public boolean set(NamedRenderingParametersMap cParams, GLProgram program) throws GLException {
    logger.debug("Apply preSet actions");
    boolean succ = true;
    if (!this.userSetters.isEmpty()) {
        succ &= this.preSetActions(cParams, program);
    }/*w w  w  .ja v a2  s  .  c om*/
    if (!succ)
        return false;
    int texcount = 0;
    Collection<GLUniform> uniforms = program.getUniforms();
    for (GLUniform uniform : uniforms) {
        Object uniform_value = cParams.containsParameterWithName(uniform.getName())
                ? cParams.getByName(uniform.getName())
                : cParams.getByUniformRef(uniform.getName());
        //If the uniform is a texture, we have to retrieve it from the TextureManager
        if (uniform.getGlType() == GL20.GL_SAMPLER_2D || uniform.getGlType() == GL20.GL_SAMPLER_1D) {
            if (uniform_value != null && uniform_value instanceof URI) {
                GLTexture btex = TextureManager.retrieveTexture((URI) uniform_value);
                if (btex == null) {
                    logger.debug("Setting the texture uniform " + uniform.getName()
                            + " failed because no texture was found: maybe the texture is not yet ready?");
                } else {
                    btex.setTextureSlot(uniform.getName(), GL13.GL_TEXTURE0 + texcount);
                    if (!btex.initializeRendering(program.getProgramId())) {
                        logger.error("An error occured while initilializing the texture " + uniform);
                        GL11.glDeleteTextures(GL13.GL_TEXTURE0 + texcount);
                        succ = false;
                    }
                    program.setUniform(uniform.getName(), texcount);
                    texcount++;
                }

            } else {
                logger.error("Setting the texture uniform " + uniform.getName()
                        + " failed : there is no parameter with such name or its value is null.");
            }
        } else {
            if (uniform_value != null) {
                program.setUniform(uniform.getName(), uniform_value);
                GLTools.glCheckError("When setting uniform " + uniform.getName() + " : " + uniform_value);

            } else {
                logger.debug("Uniform " + uniform.getName() + " has no value set ");
            }
        }
    }
    if (!this.userSetters.isEmpty()) {
        succ &= this.postSetActions(cParams, program);
    }
    return succ;
}

From source file:fr.ign.cogit.geoxygene.appli.render.DisplayableTextRenderer.java

License:Open Source License

private void drawText() throws GLException {
    if (this.program == null || this.textImage == null) {
        Logger.getRootLogger().debug("The GeoxGLTextRenderer " + this.hashCode() + "is not ready yet");
        return;/*  w  w  w. j a  va  2  s.co  m*/
    }
    this.textImage.getRGB(0, 0, width, height, this.pixels, 0, width);
    this.buffer.rewind();
    for (int y = height - 1; y >= 0; y--) {
        for (int x = 0; x < width; x++) {
            int pixel = this.pixels[y * width + x];
            this.buffer.put((byte) (pixel >> 16 & 0xFF)); // Red component
            this.buffer.put((byte) (pixel >> 8 & 0xFF)); // Green component
            this.buffer.put((byte) (pixel >> 0 & 0xFF)); // Blue component
            this.buffer.put((byte) (pixel >> 24 & 0xFF)); // Alpha component
        }
    }
    this.buffer.rewind();
    glEnable(GL_TEXTURE_2D);
    GL13.glActiveTexture(GL13.GL_TEXTURE0 + 2);
    glBindTexture(GL_TEXTURE_2D, this.getTextTextureId());

    // Setup texture scaling filtering
    GL11.glTexParameteri(GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR);
    GL11.glTexParameteri(GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR);
    GL11.glTexImage2D(GL_TEXTURE_2D, 0, GL11.GL_RGBA8, width, height, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE,
            this.buffer);

    Integer fbow = (Integer) GLContext.getActiveGlContext()
            .getSharedUniform(GeoxygeneConstants.GL_VarName_FboWidth);
    Integer fboh = (Integer) GLContext.getActiveGlContext()
            .getSharedUniform(GeoxygeneConstants.GL_VarName_FboHeight);
    GL11.glViewport(0, 0, fbow, fboh);
    glDisable(GL11.GL_POLYGON_SMOOTH);
    GLContext.getActiveGlContext().setCurrentProgram(program);
    program.setUniform1i("colorTexture2", 2);
    GLTools.glCheckError("texture binding");

    GL11.glDepthMask(false);
    glDisable(GL11.GL_DEPTH_TEST);

    GL30.glBindVertexArray(LayerViewGLPanel.getScreenQuad().getVaoId());
    GLTools.glCheckError("before drawing textured quad VAO binding");

    program.setUniform(GeoxygeneConstants.GL_VarName_ObjectOpacityVarName, 1f);
    program.setUniform(GeoxygeneConstants.GL_VarName_GlobalOpacityVarName, 1f);
    glEnable(GL_BLEND);
    GL11.glBlendFunc(GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
    GLTools.glCheckError("blending set for textured quad");

    LwjglLayerRenderer.drawComplex(LayerViewGLPanel.getScreenQuad());
    GLTools.glCheckError("Drawing textured quad");

    GL30.glBindVertexArray(0); // unbind VAO
    GLTools.glCheckError("exiting Text rendering");
    glBindTexture(GL_TEXTURE_2D, 0); // unbind texture

}

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

License:Open Source License

public void render(Gui3DShader shader, Camera camera, Color4f color, float dropShadow) {
    glDisable(GL_CULL_FACE);//from   w w w. jav a2 s . c om
    glEnable(GL_TEXTURE_2D);
    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    font.fontTexture.bind(shader);

    float dist = camera.getTransform().getPosition().copy().sub(transform.getPosition()).magnitude();

    transform.setLocalRotation(camera.getTransform().getRotation());
    transform.setLocalScale(new Vec3(10.0f / (float) font.fontTexture.getHeight() * 0.5f));

    if (dropShadow > 0) {
        shader.setModelViewMatrix(
                transform.toMatrix().mul(Mat4.translate(-w / 2 + dropShadow, -h / 2 - dropShadow, 0.3f)));
        shader.setColor(new Color4f(0, 0, 0, 0.8f));
        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(transform.toMatrix().mul(Mat4.translate(-w / 2, -h / 2, 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);
    glDisable(GL_TEXTURE_2D);
    glEnable(GL_CULL_FACE);
}

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   www.j  a v a2 s . c o m*/

    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.  jav a  2s  .com
    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());

}