Example usage for org.lwjgl.opengl GL11 glDepthFunc

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

Introduction

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

Prototype

public static void glDepthFunc(@NativeType("GLenum") int func) 

Source Link

Document

Specifies the comparison that takes place during the depth buffer test (when GL11C#GL_DEPTH_TEST DEPTH_TEST is enabled).

Usage

From source file:com.itszuvalex.femtocraft.research.gui.GuiResearch.java

License:Open Source License

protected void genAchievementBackground(int par1, int par2, float par3) {
    int k = MathHelper.floor_double(field_74117_m + (guiMapX - field_74117_m) * (double) par3);
    int l = MathHelper.floor_double(field_74115_n + (guiMapY - field_74115_n) * (double) par3);

    if (k < guiMapTop) {
        k = guiMapTop;/*w ww  .  j  ava2 s . c  o  m*/
    }

    if (l < guiMapLeft) {
        l = guiMapLeft;
    }

    if (k >= guiMapBottom) {
        k = guiMapBottom - 1;
    }

    if (l >= guiMapRight) {
        l = guiMapRight - 1;
    }

    int i1 = (this.width - this.researchPaneWidth) / 2;
    int j1 = (this.height - this.researchPaneHeight) / 2;
    int k1 = i1 + 16;
    int l1 = j1 + 17;
    this.zLevel = 0.0F;
    GL11.glDepthFunc(GL11.GL_GEQUAL);
    GL11.glPushMatrix();
    GL11.glTranslatef(0.0F, 0.0F, -200.0F);
    GL11.glEnable(GL11.GL_TEXTURE_2D);
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glEnable(GL12.GL_RESCALE_NORMAL);
    GL11.glEnable(GL11.GL_COLOR_MATERIAL);
    int i2 = k + 288 >> 4;
    int j2 = l + 288 >> 4;
    int k2 = (k + 288) % 16;
    int l2 = (l + 288) % 16;
    Random random = new Random();
    int i3;
    int j3;
    int k3;

    // Make background

    for (i3 = 0; i3 * 16 - l2 < 155; ++i3) {
        float f1 = 0.6F - (float) (j2 + i3) / 25.0F * 0.3F;
        GL11.glColor4f(f1, f1, f1, 1.0F);

        for (k3 = 0; k3 * 16 - k2 < 224; ++k3) {
            random.setSeed((long) (1234 + i2 + k3));
            random.nextInt();
            j3 = random.nextInt(1 + j2 + i3) + (j2 + i3) / 2;
            IIcon icon = Blocks.sand.getIcon(0, 0);

            if (j3 <= 37 && j2 + i3 != 35) {
                if (j3 == 22) {
                    if (random.nextInt(2) == 0) {
                        icon = Femtocraft.blockOrePlatinum().getIcon(0, 0);
                    } else {
                        icon = Femtocraft.blockOreFarenite().getIcon(0, 0);
                    }
                } else if (j3 == 10) {
                    icon = Femtocraft.blockOreTitanium().getIcon(0, 0);
                } else if (j3 == 8) {
                    icon = Femtocraft.blockOreThorium().getIcon(0, 0);
                } else if (j3 > 4) {
                    icon = Blocks.stone.getIcon(0, 0);
                } else if (j3 > 0) {
                    icon = Blocks.dirt.getIcon(0, 0);
                }
            } else {
                icon = Blocks.bedrock.getIcon(0, 0);
            }

            Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
            this.drawTexturedModelRectFromIcon(k1 + k3 * 16 - k2, l1 + i3 * 16 - l2, icon, 16, 16);
        }
    }

    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glDepthFunc(GL11.GL_LEQUAL);
    //        GL11.glDisable(GL11.GL_TEXTURE_2D);
    int l3;
    int i4;
    int j4;

    for (ITechnology tech : Femtocraft.researchManager().getTechnologies()) {
        ResearchStatus rs = researchStatus.getTechnology(tech.getName());
        if (rs == null) {
            continue;
        }
        if (tech.getPrerequisites() != null) {
            for (String cr : tech.getPrerequisites()) {
                TechNode node = Femtocraft.researchManager().getNode(tech);

                for (IGraphNode parent : node.getParents()) {
                    IGraphNode next = parent;
                    IGraphNode prev = node;
                    while (next instanceof DummyTechNode) {
                        k3 = prev.getDisplayX() * 24 - k + 11 + k1;
                        j3 = prev.getDisplayY() * 24 - l + 11 + l1 - 11;
                        j4 = next.getDisplayX() * 24 - k + 11 + k1;
                        l3 = next.getDisplayY() * 24 - l + 11 + l1 + 11;
                        boolean flag6 = !rs.researched();
                        i4 = Math.sin(
                                (double) (Minecraft.getSystemTime() % 600L) / 600.0D * Math.PI * 2.0D) > 0.6D
                                        ? 255
                                        : 130;
                        int color = tech.getLevel().getColor();
                        if (flag6) {
                            color += (i4 << 24);
                        } else {
                            color += (255 << 24);
                        }

                        // this.drawHorizontalLine(k3, j4, j3, color);
                        // this.drawVerticalLine(j4, j3, l3, color);
                        RenderUtils.drawLine(k3, j4, j3, l3, 1, color);
                        RenderUtils.drawLine(j4, j4, l3 - 22, l3, 1, color);

                        // Dummy nodes should only have 1 parent
                        prev = next;
                        next = next.getParents().get(0);
                    }

                    k3 = prev.getDisplayX() * 24 - k + 11 + k1;
                    j3 = prev.getDisplayY() * 24 - l + 11 + l1 - 11;
                    j4 = next.getDisplayX() * 24 - k + 11 + k1;
                    l3 = next.getDisplayY() * 24 - l + 11 + l1 + 11;
                    boolean flag6 = !rs.researched();
                    i4 = Math.sin((double) (Minecraft.getSystemTime() % 600L) / 600.0D * Math.PI * 2.0D) > 0.6D
                            ? 255
                            : 130;
                    int color = tech.getLevel().getColor();
                    if (flag6) {
                        color += (i4 << 24);
                    } else {
                        color += (255 << 24);
                    }

                    // this.drawHorizontalLine(k3, j4, j3, color);
                    // this.drawVerticalLine(j4, j3, l3, color);
                    RenderUtils.drawLine(k3, j4, j3, l3, 1, color);
                }
            }
        }
    }

    ITechnology tooltipTech = null;
    RenderItem renderitem = new RenderItem();
    RenderHelper.enableGUIStandardItemLighting();
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glEnable(GL12.GL_RESCALE_NORMAL);
    GL11.glEnable(GL11.GL_COLOR_MATERIAL);
    int l4;
    int i5;

    for (ITechnology tech : Femtocraft.researchManager().getTechnologies()) {
        ResearchStatus ts = researchStatus.getTechnology(tech.getName());
        if (ts == null) {
            continue;
        }
        TechNode node = Femtocraft.researchManager().getNode(tech);
        j4 = node.getDisplayX() * 24 - k;
        l3 = node.getDisplayY() * 24 - l;

        if (j4 >= -24 && l3 >= -24 && j4 <= 224 && l3 <= 155) {
            float f2;

            if (ts.researched()) {
                f2 = 1.0F;
                GL11.glColor4f(f2, f2, f2, 1.0F);
            } else {
                f2 = Math.sin((double) (Minecraft.getSystemTime() % 600L) / 600.0D * Math.PI * 2.0D) < 0.6D
                        ? 0.6F
                        : 0.8F;
                GL11.glColor4f(f2, f2, f2, 1.0F);
            }
            // else {
            // f2 = 0.3F;
            // GL11.glColor4f(f2, f2, f2, 1.0F);
            // }

            Minecraft.getMinecraft().getTextureManager().bindTexture(achievementTextures);
            i5 = k1 + j4;
            l4 = l1 + l3;

            GL11.glEnable(GL11.GL_BLEND);// Forge: Specifically enable blend because it is needed here. And we
            // fix Generic RenderItem's leakage of it.
            if (tech.isKeystone()) {
                this.drawTexturedModalRect(i5 - 2, l4 - 2, 26, 202, 26, 26);
            } else {
                this.drawTexturedModalRect(i5 - 2, l4 - 2, 0, 202, 26, 26);
            }
            GL11.glDisable(GL11.GL_BLEND); //Forge: Cleanup states we set.
            //
            // if (!this.statFileWriter.canUnlockAchievement(achievement2))
            // {
            // float f3 = 0.1F;
            // GL11.glColor4f(f3, f3, f3, 1.0F);
            // renderitem.renderWithColor = false;
            // }

            GL11.glDisable(GL11.GL_LIGHTING); //Forge: Make sure Lighting is disabled. Fixes MC-33065
            GL11.glEnable(GL11.GL_CULL_FACE);

            RenderHelper.enableGUIStandardItemLighting();
            //                GL11.glDisable(GL11.GL_LIGHTING);
            //                GL11.glBlendFunc(GL11.GL_DST_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
            //                GL11.glEnable(GL12.GL_RESCALE_NORMAL);
            //                GL11.glEnable(GL11.GL_COLOR_MATERIAL);
            //                GL11.glEnable(GL11.GL_LIGHTING);
            //                GL11.glEnable(GL11.GL_CULL_FACE);
            renderitem.renderItemAndEffectIntoGUI(Minecraft.getMinecraft().fontRenderer,
                    Minecraft.getMinecraft().getTextureManager(), tech.getDisplayItem(), i5 + 3, l4 + 3);
            RenderHelper.disableStandardItemLighting();
            //                GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
            //                GL11.glDisable(GL11.GL_LIGHTING);
            //                GL11.glDisable(GL12.GL_RESCALE_NORMAL);

            GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
            GL11.glDisable(GL11.GL_LIGHTING);

            // if (!this.statFileWriter.canUnlockAchievement(achievement2))
            // {
            // renderitem.renderWithColor = true;
            // }

            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

            if (par1 >= k1 && par2 >= l1 && par1 < k1 + 224 && par2 < l1 + 155 && par1 >= i5 && par1 <= i5 + 22
                    && par2 >= l4 && par2 <= l4 + 22) {
                tooltipTech = tech;
            }
        }
    }

    GL11.glDisable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glPopMatrix();
    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    Minecraft.getMinecraft().getTextureManager().bindTexture(achievementTextures);
    this.drawTexturedModalRect(i1, j1, 0, 0, this.researchPaneWidth, this.researchPaneHeight);
    //        GL11.glPopMatrix();
    this.zLevel = 0.0F;
    GL11.glDepthFunc(GL11.GL_LEQUAL);
    GL11.glDisable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_TEXTURE_2D);
    super.drawScreen(par1, par2, par3);

    if (tooltipTech != null) {

        ResearchStatus status = researchStatus.getTechnology(tooltipTech.getName());
        String s = tooltipTech.getName();
        String s1 = tooltipTech.getShortDescription();
        j4 = par1 + 12;
        l3 = par2 - 4;

        i5 = Math.max(this.fontRendererObj.getStringWidth(s), 120);
        l4 = this.fontRendererObj.splitStringWidth(s1, i5);

        if (status.researched()) {
            l4 += 12;
        }

        this.drawGradientRect(j4 - 3, l3 - 3, j4 + i5 + 3, l3 + l4 + 3 + 12, -1073741824, -1073741824);
        this.fontRendererObj.drawSplitString(s1, j4, l3 + 12, i5, -6250336);

        if (status.researched()) {
            this.fontRendererObj.drawStringWithShadow("Researched!", j4, l3 + l4 + 4, -7302913);
        }

        // Keep Commented

        // else {
        // i5 = Math.max(this.fontRenderer.getStringWidth(s), 120);
        // String s2 = I18n.getStringParams("achievement.requires",
        // new Object[] { I18n
        // .getString(tooltipTech.parentAchievement
        // .getName()) });
        // i4 = this.fontRenderer.splitStringWidth(s2, i5);
        // this.drawGradientRect(j4 - 3, l3 - 3, j4 + i5 + 3, l3 + i4 + 12
        // + 3, -1073741824, -1073741824);
        // this.fontRenderer
        // .drawSplitString(s2, j4, l3 + 12, i5, -9416624);
        // }

        this.fontRendererObj.drawStringWithShadow(s, j4, l3,
                status.researched() ? (tooltipTech.isKeystone() ? -128 : -1)
                        : (tooltipTech.isKeystone() ? -8355776 : -8355712));
    }

    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_LIGHTING);
    RenderHelper.disableStandardItemLighting();
}

From source file:com.opengrave.og.engine.Node.java

License:Open Source License

public void renderSemiTransparent(Matrix4f matrix) {
    Util.checkErr();//w w w .ja va2s. c  o  m
    doRenderSemiTransparent(matrix);
    if (MainThread.main.input.getLastHovered() != null) {
        Pickable lr = MainThread.main.input.getLastHovered().getRenderable();
        if (this instanceof BaseObject && lr instanceof BaseObject) {
            if (lr == this) {
                BaseObject notThis = (BaseObject) this;
                if (notThis.drawOutline) {
                    // Setup for outline draw
                    GL11.glDepthFunc(GL11.GL_LESS);
                    GL11.glEnable(GL11.GL_DEPTH_TEST);
                    GL11.glPolygonMode(GL11.GL_BACK, GL11.GL_LINE);
                    GL11.glLineWidth(10f);
                    GL11.glCullFace(GL11.GL_FRONT);
                    GL11.glEnable(GL11.GL_CULL_FACE);

                    GL11.glEnable(GL11.GL_BLEND);
                    GL11.glEnable(GL11.GL_LINE_SMOOTH);
                    GL11.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_NICEST);
                    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

                    // Draw

                    RenderStyle rs = notThis.getRenderStyle();
                    notThis.setRenderStyle(RenderStyle.HALO);

                    doRender(matrix);

                    notThis.setRenderStyle(rs);

                    // Return to correct state
                    GL11.glPolygonMode(GL11.GL_BACK, GL11.GL_FILL);
                    GL11.glLineWidth(1f);
                    GL11.glCullFace(GL11.GL_BACK);
                    GL11.glDisable(GL11.GL_CULL_FACE);
                    GL11.glEnable(GL11.GL_BLEND);
                }
            }
        }
    }
    Util.checkErr();
    for (Node node : children) {
        Matrix4f childMatrix = matrix.mult(node.getMatrix(), null);
        node.renderSemiTransparent(childMatrix);
        Util.checkErr();
    }
}

From source file:com.opengrave.og.engine.RenderView.java

License:Open Source License

private void prepare3DShadow() {
    GL11.glDisable(GL11.GL_BLEND);//from w  w w .  j a  va2  s .  c o m
    GL11.glDepthFunc(GL11.GL_LESS);
    // GL11.glEnable(GL11.GL_POLYGON_OFFSET_FILL);
    // GL11.glPolygonOffset(1.1f, 10f);
    GL11.glCullFace(GL11.GL_FRONT);
    GL11.glEnable(GL11.GL_CULL_FACE);
}

From source file:com.opengrave.og.engine.RenderView.java

License:Open Source License

private void revertSettings() {
    GL11.glViewport(0, 0, MainThread.lastW, MainThread.lastH);
    GL11.glDisable(GL11.GL_CULL_FACE);/*from  w  ww .  j  a v  a 2 s .  c  om*/
    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    GL11.glDepthFunc(GL11.GL_LEQUAL);
    GL11.glDisable(GL11.GL_POLYGON_OFFSET_FILL);
}

From source file:com.opengrave.og.engine.RenderView.java

License:Open Source License

public void prepare3DTransparent() {
    Util.checkErr();//from   w ww.  jav a  2  s .  co  m
    GL11.glDisable(GL11.GL_POLYGON_OFFSET_FILL);
    Util.checkErr();
    GL11.glEnable(GL11.GL_BLEND);
    Util.checkErr();
    GL11.glDepthFunc(GL11.GL_LEQUAL);
    Util.checkErr();
    GL11.glDisable(GL11.GL_CULL_FACE);
}

From source file:com.opengrave.og.engine.RenderView.java

License:Open Source License

private void prepare3DOpaque() {
    GL11.glDisable(GL11.GL_POLYGON_OFFSET_FILL);

    GL11.glDisable(GL11.GL_BLEND);/*from  w w w .ja  v  a2  s . c  o m*/
    GL11.glDepthFunc(GL11.GL_LESS);
    GL11.glCullFace(GL11.GL_BACK);
    GL11.glEnable(GL11.GL_CULL_FACE);
}

From source file:com.opengrave.og.light.Depth2DFramebuffer.java

License:Open Source License

@Override
public void bindDraw() {
    Util.checkErr();/*w ww  .  j av a2 s. c  om*/

    for (int i = GL13.GL_TEXTURE0; i < GL13.GL_TEXTURE31; i++) {
        GL13.glActiveTexture(i);
        GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
        GL11.glBindTexture(GL30.GL_TEXTURE_2D_ARRAY, 0);
        GL11.glBindTexture(GL13.GL_TEXTURE_CUBE_MAP, 0);
    }
    Util.checkErr();
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, framebuffer);
    Util.checkErr();
    GL11.glDisable(GL11.GL_BLEND);
    Util.checkErr();
    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glDepthFunc(GL11.GL_LESS);
    GL11.glDepthMask(true);
    Util.checkErr();
    GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
    Util.checkErr();
    GL11.glViewport(0, 0, framebufferSize, framebufferSize);

}

From source file:com.opengrave.og.light.DepthCubeFramebuffer.java

License:Open Source License

public void bindDraw(int direction) {
    Util.checkErr();/*from  www  .j  a v a 2s .c  o  m*/
    GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, framebuffer);
    shadowMap.bindToFrameBuffer(direction);
    Util.checkErr();

    Util.checkErr();
    GL11.glDisable(GL11.GL_BLEND);
    Util.checkErr();
    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glDepthFunc(GL11.GL_LESS);
    GL11.glDepthMask(true);
    Util.checkErr();
    GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT);
    Util.checkErr();
    GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
    GL11.glViewport(0, 0, framebufferSize, framebufferSize);

}

From source file:com.opengrave.og.MainThread.java

License:Open Source License

public static void set2D() {
    GL11.glDisable(GL11.GL_CULL_FACE);//from   w ww .j  a  v  a  2  s.co m
    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    GL11.glDepthFunc(GL11.GL_LEQUAL);

}

From source file:com.opengrave.og.MainThread.java

License:Open Source License

protected void initGL() {
    if (glfwInit() != GLFW_TRUE) {
        System.exit(1);/*  w  w w. j a v  a2  s  . c  o m*/
    }
    glfwDefaultWindowHints();
    glfwWindowHint(GLFW_VISIBLE, GLFW_TRUE);
    glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);
    window = glfwCreateWindow(800, 600, "HiddenGrave", NULL, NULL);
    if (window == NULL) {
        System.exit(1);
    }
    glfwMakeContextCurrent(window);
    glfwSwapInterval(1); // TODO condig of vsync. Enable vsync
    GL.createCapabilities();
    glfwSetFramebufferSizeCallback(window, (framebufferSizeCallback = new GLFWFramebufferSizeCallback() {
        @Override
        public void invoke(long window, int width, int height) {
            onResize(width, height);
        }
    }));
    onResize(800, 600);
    // TODO Check all extensions. TEX 2D ARRAY, GLSL 130
    createConfig();

    Util.initMatrices();
    Renderable.init();
    GUIXML.init();

    // Prepare Lighting
    initLighting();
    // Default Values
    GL11.glClearColor(0.5f, 0.5f, 0.5f, 1.0f); // sets background to grey
    Util.checkErr();
    GL11.glClearDepth(1.0f); // clear depth buffer
    Util.checkErr();
    GL11.glEnable(GL11.GL_DEPTH_TEST); // Enables depth testing
    Util.checkErr();
    GL11.glDepthFunc(GL11.GL_LEQUAL); // sets the type of test to use for
    // depth testing
    GL11.glEnable(GL11.GL_BLEND);
    Resources.loadTextures(); // Reconsider positioning. Other than GUI
    // texture we could offset these in another
    // thread... Possibly?
    Resources.loadModels();
    Resources.loadFonts();

}