Example usage for org.lwjgl.opengl GL11 glEnable

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

Introduction

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

Prototype

public static void glEnable(@NativeType("GLenum") int target) 

Source Link

Document

Enables the specified OpenGL state.

Usage

From source file:com.grillecube.engine.renderer.model.ModelRenderer.java

@Override
public void renderShadow(ShadowCamera shadow_camera) {

    if (this._models == null) {
        return;/*from   ww  w.j av a2 s .com*/
    }

    GL11.glEnable(GL11.GL_DEPTH_TEST);

    if (this.getParent().getGLFWWindow().isKeyPressed(GLFW.GLFW_KEY_F)) {
        GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
    }

    // enable model program
    this._program_model_shadow.useStart();
    {
        // load global uniforms
        this._program_model_shadow.loadUniforms(shadow_camera);

        // for each model instance to render
        for (ModelInstance instance : this._models) {

            // the skin to use
            ModelSkin skin = instance.getModel().getSkin(instance.getSkinID());
            if (skin == null) {
                continue;
            }

            // render each of it parts
            for (int i = 0; i < instance.getPartInstances().length; i++) {

                ModelPartInstance part = instance.getPartInstances()[i];

                // load uniforms
                this._program_model_shadow.loadInstanceUniforms(part);
                // bind the part
                part.getModelPart().bind();
                // unable skin
                ModelPartSkin partskin = skin.getPart(i);
                part.getModelPart().toggleSkin(partskin);
                // render
                part.getModelPart().render();
            }

            // render equipment
            if (instance.getEntity() instanceof EntityModeledLiving) {
                EntityModeledLiving entity = (EntityModeledLiving) instance.getEntity();
                Item[] items = entity.getEquipments();

                // if the entity actually has equipmment
                if (items != null) {
                    // for each of it equipments
                    for (Item item : items) {
                        // get it model
                        Model model = item.getModel();
                        // unable the skin
                        // model.toggleSkin(item.getSkinID());

                        // TODO RENDER IT
                    }
                }
            }
        }
    }
    this._program_model_shadow.useStop();
    GL11.glDisable(GL11.GL_DEPTH_TEST);
    GL11.glDisable(GL11.GL_BLEND);

    GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);

}

From source file:com.grillecube.engine.renderer.world.particles.ParticleRenderer.java

/** render every quad particles */
private void renderBillboardedParticles(World world, CameraProjectiveWorld camera) {
    if (this._billboarded_particles.size() == 0) {
        return;//w  w w  .j  av  a2s  .c  o  m
    }
    GL13.glActiveTexture(GL13.GL_TEXTURE0 + 0); // Texture unit 0

    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

    this._program_billboarded_particle.useStart();
    this.getParent().getDefaultVAO().bind();

    this._program_billboarded_particle.loadGlobalUniforms(camera);
    this._billboarded_particles.sort(this._particle_comparator);

    int i = 0;
    while (i < this._billboarded_particles.size()) {

        ParticleBillboarded particle = this._billboarded_particles.get(i);
        float radius = Maths.max(particle.getScale().x, particle.getScale().y);
        if (particle != null && particle.getCameraSquareDistance() < camera.getSquaredRenderDistance()
                && camera.isSphereInFrustum(particle.getPosition(), radius)) {
            this._program_billboarded_particle.loadInstanceUniforms(particle);
            this.getParent().getDefaultVAO().draw(GL11.GL_POINTS, 0, 1);
        }
        ++i;
    }
}

From source file:com.grillecube.engine.renderer.world.particles.ParticleRenderer.java

/** render every cube particles */
private void renderCubeParticles(World world, CameraProjectiveWorld camera) {
    if (this._cube_particles.size() == 0) {
        return;//from  w w w. j  a v a 2  s.  c o m
    }

    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

    this._program_cube.useStart();
    this._vao_cube.bind();
    this._program_cube.loadGlobalUniforms(camera);

    this._vao_cube.drawInstanced(GL11.GL_TRIANGLES, 0, 36, this._cubes_in_buffer);

    GL11.glDisable(GL11.GL_DEPTH_TEST);
    GL11.glDisable(GL11.GL_BLEND);
}

From source file:com.grillecube.engine.renderer.world.terrain.TerrainRenderer.java

@Override
public void render() {

    if (!this._can_render) {
        return;/*from  w w w  .  ja  v  a 2 s  . c  o  m*/
    }

    GL11.glEnable(GL11.GL_CULL_FACE);
    GL11.glCullFace(GL11.GL_BACK);

    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

    if (this.getParent().getGLFWWindow().isKeyPressed(GLFW.GLFW_KEY_F)) {
        GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
    }

    this.render(super.getCamera());

    GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);

    GL11.glDisable(GL11.GL_BLEND);
    GL11.glDisable(GL11.GL_CULL_FACE);
}

From source file:com.grillecube.engine.renderer.world.terrain.TerrainRenderer.java

public void render(CameraView camera) {

    if (!this._can_render) {
        return;//  ww  w  .ja v  a 2s . com
    }

    GL11.glEnable(GL11.GL_DEPTH_TEST);

    this._terrain_program.useStart();
    {
        // render with the current camera, the current world weather, no
        // clipping, using reflection and refraction fbos as texture
        this._terrain_program.loadUniforms(this.getCamera(), this.getWorld(),
                this.getWorldRenderer().getShadowCamera());

        // bind textures

        this.getParent().getWorldRenderer().getReflectionTexture().bind(GL13.GL_TEXTURE1, GL11.GL_TEXTURE_2D);
        this.getParent().getWorldRenderer().getRefractionTexture().bind(GL13.GL_TEXTURE2, GL11.GL_TEXTURE_2D);
        this._dudvmap.bind(GL13.GL_TEXTURE3, GL11.GL_TEXTURE_2D);
        this._normalmap.bind(GL13.GL_TEXTURE4, GL11.GL_TEXTURE_2D);
        this.getParent().getWorldRenderer().getShadowMap().bind(GL13.GL_TEXTURE5, GL11.GL_TEXTURE_2D);

        for (TerrainMesh mesh : this._meshes_camera) {
            this.bindTextureAtlas(mesh, camera);
            this._terrain_program.loadInstanceUniforms(mesh);
            mesh.render();
        }
    }
    GL11.glDisable(GL11.GL_DEPTH_TEST);
}

From source file:com.grillecube.engine.renderer.world.terrain.TerrainRenderer.java

private void renderReflectionRefraction(CameraProjectiveWorld camera, Vector4f clipplane) {

    if (!this._can_render) {
        return;/*from w  w w  .  j av a 2s. c  o m*/
    }

    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL30.GL_CLIP_DISTANCE0);

    this._terrain_reflection_refraction_program.useStart();
    {
        // render with the current camera, the current world weather, no
        // clipping, using reflection and refraction fbos as texture
        this._terrain_reflection_refraction_program.loadUniforms(camera, this.getWorld().getWeather(),
                clipplane);

        // render every meshes
        for (TerrainMesh mesh : this._meshes_camera) {
            this.bindTextureAtlas(mesh, camera);
            this._terrain_reflection_refraction_program.loadInstanceUniforms(mesh);
            mesh.render();
        }
    }

    GL11.glDisable(GL11.GL_DEPTH_TEST);
    GL11.glDisable(GL30.GL_CLIP_DISTANCE0);
}

From source file:com.grillecube.engine.renderer.world.terrain.TerrainRenderer.java

@Override
public void renderShadow(ShadowCamera shadow_camera) {

    // terrain do not cast shadow for now

    if (!this._can_render) {
        return;/*from www .  j  a  v  a2 s. c o m*/
    }

    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glDisable(GL11.GL_CULL_FACE);

    this._terrain_shadow_program.useStart();
    {
        this._terrain_shadow_program.loadUniforms(shadow_camera);

        // for (TerrainMesh mesh : this._meshes_shadow) {
        for (TerrainMesh mesh : this._meshes_shadow) {
            this._terrain_shadow_program.loadInstanceUniforms(mesh);
            mesh.render();
        }
    }
    GL11.glDisable(GL11.GL_DEPTH_TEST);
}

From source file:com.hea3ven.pandoraschest.client.model.ModelBaseChest.java

License:Open Source License

public void renderItem() {
    GL11.glPushMatrix();//from   w  ww  .  j  av  a2s . co  m
    GL11.glDisable(GL11.GL_LIGHTING);
    // GL11.glTranslatef(0.0f, -0.5f, 0.0f);
    GL11.glRotatef(180.0f, 0.0f, 1.0f, 0.0f);

    ModColladaModel.getModelManager().getModel(openResourceName).renderAll();

    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glPopMatrix();
}

From source file:com.hea3ven.pandoraschest.client.model.ModelFluorecentSpot.java

License:Open Source License

public void renderItem() {
    GL11.glPushMatrix();/*from www.j av a2 s  .  com*/
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glTranslatef(0.0f, -0.5f, 0.0f);

    ModColladaModel.getModelManager().getModel(modelResource).renderAll();

    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glPopMatrix();
}

From source file:com.hilburn.dimensionguard.client.DisabledRenderer.java

License:Open Source License

@Override
public void renderItem(ItemRenderType type, ItemStack itemStack, Object... data) {
    ItemStack thisStack = ItemStack/*from  w w  w  . j a v a 2 s  . co  m*/
            .loadItemStackFromNBT((NBTTagCompound) itemStack.stackTagCompound.getTag("ItemStack"));

    boolean isInventory = type == ItemRenderType.INVENTORY;

    Tessellator tess = Tessellator.instance;
    FontRenderer fontRenderer = mc.fontRenderer;
    TextureManager textureManager = mc.getTextureManager();
    GL11.glPushMatrix();
    Item item = thisStack.getItem();
    Block block = Block.getBlockFromItem(item);

    if (thisStack != null && block != null && block.getRenderBlockPass() != 0) {
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glEnable(GL11.GL_CULL_FACE);
        OpenGlHelper.glBlendFunc(770, 771, 1, 0);
    }
    IItemRenderer storedRenderer = MinecraftForgeClient.getItemRenderer(thisStack, type);
    //======Handles Special Blocks and Items======
    if (storedRenderer != null) {
        storedRenderer.renderItem(type, thisStack, data);
    } else {
        if (thisStack.getItemSpriteNumber() == 0 && item instanceof ItemBlock
                && RenderBlocks.renderItemIn3d(block.getRenderType())) {
            //=====Handles regular blocks======
            textureManager.bindTexture(textureManager.getResourceLocation(0));
            switch (type) {
            case EQUIPPED_FIRST_PERSON:
            case EQUIPPED:
            case ENTITY:
                GL11.glTranslatef(0.5F, 0.5F, 0.5F);
            default:
            }
            if (thisStack != null && block != null && block.getRenderBlockPass() != 0) {
                GL11.glDepthMask(false);
                renderBlocksIr.renderBlockAsItem(block, thisStack.getItemDamage(), 1.0F);
                GL11.glDepthMask(true);
            } else {
                renderBlocksIr.renderBlockAsItem(block, thisStack.getItemDamage(), 1.0F);
            }
        } else {
            //=======Handles Regular Items======
            if (isInventory) {
                renderItem.renderItemIntoGUI(fontRenderer, textureManager, thisStack, 0, 0);
            } else {
                GL11.glEnable(GL12.GL_RESCALE_NORMAL);
                switch (type) {
                case EQUIPPED_FIRST_PERSON:
                    //TODO: get items to render in the right place
                    GL11.glRotated(90F, 0F, 1F, 0F);
                    GL11.glTranslatef(-1F, 0.5F, 0F);
                    break;
                case EQUIPPED:
                    GL11.glRotated(90F, 0F, 1F, 0F);
                    GL11.glTranslatef(-1F, 0.5F, 0F);
                    GL11.glRotated(90F, 1F, 0F, 0F);
                    //GL11.glTranslatef(0, -4 / 16f, 0);
                    break;
                case ENTITY:
                    //GL11.glTranslatef(-0.5f, 0f, 1f / 16f); // correction of the rotation point when items lie on the ground
                default:
                }

                IIcon icon = thisStack.getIconIndex();
                float xMax;
                float yMin;
                float xMin;
                float yMax;
                float depth = 1f / 16f;

                float width;
                float height;
                float xDiff;
                float yDiff;
                float xSub;
                float ySub;

                xMin = icon.getMinU();
                xMax = icon.getMaxU();
                yMin = icon.getMinV();
                yMax = icon.getMaxV();
                width = icon.getIconWidth();
                height = icon.getIconHeight();
                xDiff = xMin - xMax;
                yDiff = yMin - yMax;
                xSub = 0.5f * (xMax - xMin) / width;
                ySub = 0.5f * (yMax - yMin) / height;

                //=====Front and back=====
                tess.startDrawingQuads();
                tess.setNormal(0, 0, 1);
                tess.addVertexWithUV(0, 0, 0, xMax, yMax);
                tess.addVertexWithUV(1, 0, 0, xMin, yMax);
                tess.addVertexWithUV(1, 1, 0, xMin, yMin);
                tess.addVertexWithUV(0, 1, 0, xMax, yMin);
                tess.draw();

                tess.startDrawingQuads();
                tess.setNormal(0, 0, -1);
                tess.addVertexWithUV(0, 1, -depth, xMax, yMin);
                tess.addVertexWithUV(1, 1, -depth, xMin, yMin);
                tess.addVertexWithUV(1, 0, -depth, xMin, yMax);
                tess.addVertexWithUV(0, 0, -depth, xMax, yMax);
                tess.draw();

                // =========Sides============
                tess.startDrawingQuads();
                tess.setNormal(-1, 0, 0);
                float pos;
                float iconPos;
                float w = width, m = xMax, d = xDiff, s = xSub;
                for (int k = 0, e = (int) w; k < e; ++k) {
                    pos = k / w;
                    iconPos = m + d * pos - s;
                    tess.addVertexWithUV(pos, 0, -depth, iconPos, yMax);
                    tess.addVertexWithUV(pos, 0, 0, iconPos, yMax);
                    tess.addVertexWithUV(pos, 1, 0, iconPos, yMin);
                    tess.addVertexWithUV(pos, 1, -depth, iconPos, yMin);
                }
                tess.draw();
                tess.startDrawingQuads();
                tess.setNormal(1, 0, 0);
                float posEnd;
                w = width;
                m = xMax;
                d = xDiff;
                s = xSub;
                float d2 = 1f / w;
                for (int k = 0, e = (int) w; k < e; ++k) {
                    pos = k / w;
                    iconPos = m + d * pos - s;
                    posEnd = pos + d2;
                    tess.addVertexWithUV(posEnd, 1, -depth, iconPos, yMin);
                    tess.addVertexWithUV(posEnd, 1, 0, iconPos, yMin);
                    tess.addVertexWithUV(posEnd, 0, 0, iconPos, yMax);
                    tess.addVertexWithUV(posEnd, 0, -depth, iconPos, yMax);
                }
                tess.draw();
                tess.startDrawingQuads();
                tess.setNormal(0, 1, 0);
                float h = height;
                m = yMax;
                d = yDiff;
                s = ySub;
                d2 = 1f / h;
                for (int k = 0, e = (int) h; k < e; ++k) {
                    pos = k / h;
                    iconPos = m + d * pos - s;
                    posEnd = pos + d2;
                    tess.addVertexWithUV(0, posEnd, 0, xMax, iconPos);
                    tess.addVertexWithUV(1, posEnd, 0, xMin, iconPos);
                    tess.addVertexWithUV(1, posEnd, -depth, xMin, iconPos);
                    tess.addVertexWithUV(0, posEnd, -depth, xMax, iconPos);
                }
                tess.draw();
                tess.startDrawingQuads();
                tess.setNormal(0, -1, 0);
                h = height;
                m = yMax;
                d = yDiff;
                s = ySub;
                for (int k = 0, e = (int) h; k < e; ++k) {
                    pos = k / h;
                    iconPos = m + d * pos - s;
                    tess.addVertexWithUV(1, pos, 0, xMin, iconPos);
                    tess.addVertexWithUV(0, pos, 0, xMax, iconPos);
                    tess.addVertexWithUV(0, pos, -depth, xMax, iconPos);
                    tess.addVertexWithUV(1, pos, -depth, xMin, iconPos);
                }
                tess.draw();
                GL11.glDisable(GL12.GL_RESCALE_NORMAL);
            }
        }
    }

    if (thisStack != null && block != null && block.getRenderBlockPass() != 0) {
        GL11.glDisable(GL11.GL_BLEND);
    }

    GL11.glPopMatrix();

    if (isInventory) {
        renderItem.renderItemIntoGUI(fontRenderer, textureManager, itemStack, 0, 0);
        //TODO: only renders on items, not blocks - fix
    }
}