Example usage for org.lwjgl.opengl GL11 glBegin

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

Introduction

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

Prototype

public static native void glBegin(@NativeType("GLenum") int mode);

Source Link

Document

Begins the definition of vertex attributes of a sequence of primitives to be transferred to the GL.

Usage

From source file:net.jamcraft.chowtime.core.renders.TileEntityFermenterRenderer.java

License:Open Source License

@Override
public void renderTileEntityAt(TileEntity var1, double x, double y, double z, float var8) {
    GL11.glBegin(GL11.GL_QUADS);
    GL11.glVertex3d(x, y, z);/* w w  w . j  a v a 2 s .co  m*/
    GL11.glVertex3d(x + 1D, y, z);
    GL11.glVertex3d(x + 1D, y + 1D, z);
    GL11.glVertex3d(x, y + 1D, z);
    GL11.glEnd();
}

From source file:net.kubin.rendering.GLFont.java

License:Apache License

/**
 * Build the character set display list from the given texture. Creates one
 * quad for each character, with one letter textured onto each quad. Assumes
 * the texture is a 256x256 image containing every character of the charset
 * arranged in a 16x16 grid. Each character is 16x16 pixels. Call
 * destroyFont() to release the display list memory.
 *
 * Should be in ORTHO (2D) mode to render text (see setOrtho()).
 *
 * Special thanks to NeHe and Giuseppe D'Agata for the "2D Texture Font"
 * tutorial (http://nehe.gamedev.net).//from   www . j  ava 2s. co  m
 *
 * @param charSetImage
 *            texture image containing 100 characters in a 10x10 grid
 * @param fontWidth
 *            how many pixels to allow per character on screen
 *
 * @see destroyFont()
 */
public void buildFont(int fontTxtrHandle, int textureSize, int fontSize) {
    int unitSize = fontSize; // pixel size of one block in 10x10 grid
    float usize = (float) unitSize / (float) (textureSize); // UV size of
    // one block in
    // grid
    float chU, chV; // character UV position

    // Create 100 Display Lists
    fontListBase = GL11.glGenLists(100);

    // make a quad for each character in texture
    for (int i = 0; i < 100; i++) {
        int x = (i % 10); // column
        int y = (i / 10); // row

        // make character UV coordinate
        // the character V position is tricky because we have to invert the
        // V coord
        // (char # 0 is at top of texture image, but V 0 is at bottom)
        chU = (float) (x * unitSize) / (float) textureSize;
        chV = (float) (y * unitSize) / (float) textureSize;
        // chV = (float) (textureSize - (y * unitSize) - unitSize) / (float)
        // textureSize;

        GL11.glNewList(fontListBase + i, GL11.GL_COMPILE); // start display
        // list
        {
            GL11.glBegin(GL11.GL_QUADS); // Make A unitSize square quad
            {
                GL11.glTexCoord2f(chU, chV); // Texture Coord (Bottom Left)
                GL11.glVertex2i(0, unitSize);

                GL11.glTexCoord2f(chU + usize, chV); // Texture Coord
                // (Bottom Right)
                GL11.glVertex2i(unitSize, unitSize);

                GL11.glTexCoord2f(chU + usize, chV + usize); // Texture
                // Coord
                // (Top
                // Right)
                GL11.glVertex2i(unitSize, 0);

                GL11.glTexCoord2f(chU, chV + usize); // Texture Coord (Top
                // Left)
                GL11.glVertex2i(0, 0);

            }
            GL11.glEnd();
            GL11.glTranslatef(charwidths[i], 0, 0); // shift right the width
            // of the character
        }
        GL11.glEndList(); // done display list
    }
}

From source file:net.kubin.world.Sky.java

License:Apache License

private void drawShpere(float x, float y, float z) {
    GL11.glPushMatrix();/*from w  ww  . j  a  va  2  s  . co m*/
    GL11.glTranslatef(x, y, z);
    GL11.glColor3f(_color.x(), _color.y(), _color.z());

    if (_sphereCallList == 0) {
        _sphereCallList = GL11.glGenLists(1);
        GL11.glNewList(_sphereCallList, GL11.GL_COMPILE_AND_EXECUTE);
        GL11.glBegin(GL11.GL_TRIANGLE_FAN);
        GL11.glVertex3f(0, 0, 0);

        for (int i = 0; i <= _vertices; ++i) {
            float angle = MathHelper.f_2PI / _vertices * i;
            float xx = MathHelper.cos(angle) * _radius;
            float zz = MathHelper.sin(angle) * _radius;
            GL11.glVertex3f(xx, -_bend, zz);
        }

        GL11.glEnd();
        GL11.glEndList();
    } else {
        GL11.glCallList(_sphereCallList);
    }

    GL11.glPopMatrix();
}

From source file:net.kubin.world.Sky.java

License:Apache License

private void drawClouds(float x, float y, float z) {
    GL11.glPushMatrix();/*from  w ww . j a v a 2  s  .  c  o  m*/
    GL11.glTranslatef(x, y, z);

    if (_cloudsCallList == 0) {
        _cloudsCallList = GL11.glGenLists(1);
        GL11.glNewList(_cloudsCallList, GL11.GL_COMPILE_AND_EXECUTE);
        float hw = _cloudsTexWidth / 2.0f;
        float hh = _cloudsTexHeight / 2.0f;

        hw *= _cloudsScale;
        hh *= _cloudsScale;

        GL11.glBegin(GL11.GL_QUADS);

        GL11.glTexCoord2f(0, 0);
        GL11.glVertex3f(-hw, 0, -hh);

        GL11.glTexCoord2f(1, 0);
        GL11.glVertex3f(+hw, 0, -hh);

        GL11.glTexCoord2f(1, 1);
        GL11.glVertex3f(+hw, 0, +hh);

        GL11.glTexCoord2f(0, 1);
        GL11.glVertex3f(-hw, 0, +hh);

        GL11.glEnd();

        GL11.glEndList();
    } else {
        GL11.glCallList(_cloudsCallList);
    }

    GL11.glPopMatrix();
}

From source file:net.kubin.world.World.java

License:Apache License

private void renderOverlay() {
    Configuration conf = Kubin.getConfiguration();

    Game.getInstance().initOverlayRendering();

    GL11.glColor3f(1, 1, 1);//  w w w .jav a2 s.c  o m

    if (Game.RENDER_INFORMATION_OVERLAY) {
        GLFont infoFont = FontStorage.getFont("Monospaced_20");

        /* Down Left Info */
        infoFont.print(4, 30, _player.coordinatesToString());
        infoFont.print(4, 45, "Visible Chunks:      " + _visibleChunks.size());
        infoFont.print(4, 60, "Updading Blocks:     " + _updatingBlocks);
        infoFont.print(4, 75, "Total Chunks in RAM: " + _chunkManager.getTotalChunkCount());
        infoFont.print(4, 90, "Local Chunks:        " + _localChunks.size());
        infoFont.print(4, 105, "Total Local Blocks:  " + _localBlockCount);
        infoFont.print(4, 120, "Time:  " + _time);
        infoFont.print(4, 135, "Sunlight:  " + _sunlight);

    }

    /** RENDER **/
    if (_activatedInventory != null) {
        Game.getInstance().renderTransculentOverlayLayer();
        _activatedInventory.renderInventory();
    } else {
        int width = conf.getWidth();
        int height = conf.getHeight();
        // Center Cross
        GL11.glDisable(GL11.GL_TEXTURE_2D);

        if (CENTER_CROSS_CALL_LIST == 0) {
            CENTER_CROSS_CALL_LIST = GL11.glGenLists(1);
            GL11.glNewList(CENTER_CROSS_CALL_LIST, GL11.GL_COMPILE_AND_EXECUTE);

            int crossSize = 7;
            int crossHole = 4;

            GL11.glLineWidth(2.5f);

            GL11.glColor3f(255, 255, 255);
            GL11.glBegin(GL11.GL_LINES);
            GL11.glVertex3f(width / 2f - crossSize - crossHole, height / 2f, 0);
            GL11.glVertex3f(width / 2f - crossHole, height / 2f, 0);

            GL11.glVertex3f(width / 2f + crossSize + crossHole, height / 2f, 0);
            GL11.glVertex3f(width / 2f + crossHole, height / 2f, 0);

            GL11.glVertex3f(width / 2f, height / 2f - crossSize - crossHole, 0);
            GL11.glVertex3f(width / 2f, height / 2f - crossHole, 0);

            GL11.glVertex3f(width / 2f, height / 2f + crossSize + crossHole, 0);
            GL11.glVertex3f(width / 2f, height / 2f + crossHole, 0);

            GL11.glEnd();
            GL11.glEndList();
        } else {
            GL11.glCallList(CENTER_CROSS_CALL_LIST);
        }

        GL11.glEnable(GL11.GL_TEXTURE_2D);

        // Inventory bar
        GL11.glPushMatrix();
        Texture texGui = TextureStorage.getTexture("gui.gui");
        texGui.bind();
        float tileSize = 20.0f / texGui.getImageWidth();

        if (INVENTORY_BAR_CALL_LIST == 0) {
            INVENTORY_BAR_CALL_LIST = GL11.glGenLists(2);

            /* Bar */
            GL11.glNewList(INVENTORY_BAR_CALL_LIST, GL11.GL_COMPILE_AND_EXECUTE);

            GL11.glTranslatef(width / 2.0f - 9 * 20, 0, 0);
            GL11.glColor3f(1.0f, 1.0f, 1.0f);
            GL11.glBegin(GL11.GL_QUADS);

            GL11.glTexCoord2f(0, 0);
            GL11.glVertex2f(0, 40);

            GL11.glTexCoord2f(tileSize * 9, 0);
            GL11.glVertex2f(9 * 40, 40);

            GL11.glTexCoord2f(tileSize * 9, tileSize);
            GL11.glVertex2f(9 * 40, 0);

            GL11.glTexCoord2f(0, tileSize);
            GL11.glVertex2f(0, 0);

            GL11.glEnd();
            GL11.glEndList();

            /* Little frame around selected item */
            float frameTileSize = 24.0f / texGui.getImageWidth();
            float frameTileY = 22.0f / texGui.getImageHeight();

            GL11.glNewList(INVENTORY_BAR_CALL_LIST + 1, GL11.GL_COMPILE);
            GL11.glBegin(GL11.GL_QUADS);

            GL11.glTexCoord2f(0, frameTileY);
            GL11.glVertex2f(0, 48);

            GL11.glTexCoord2f(frameTileSize, frameTileY);
            GL11.glVertex2f(48, 48);

            GL11.glTexCoord2f(frameTileSize, frameTileY + frameTileSize);
            GL11.glVertex2f(48, 0);

            GL11.glTexCoord2f(0, frameTileY + frameTileSize);
            GL11.glVertex2f(0, 0);

            GL11.glEnd();
            GL11.glEndList();
        } else {
            GL11.glCallList(INVENTORY_BAR_CALL_LIST);
        }

        /* Content */
        GL11.glPushMatrix();
        GL11.glTranslatef(20, 20, 0);

        for (int i = 0; i < 9; ++i) {
            InventoryPlace place = getActivePlayer().getInventory().getInventoryPlace(i);

            if (place != null) {
                place.render();
            }

            GL11.glTranslatef(40, 0, 0);
        }

        texGui.bind();
        GL11.glPopMatrix();
        GL11.glTranslatef(getActivePlayer().getSelectedInventoryItemIndex() * 40.0f - 4, -4, 0);
        GL11.glCallList(INVENTORY_BAR_CALL_LIST + 1);

        GL11.glPopMatrix();
    }
}

From source file:net.mechanicalcat.pycode.obj.Model.java

License:Open Source License

public void genList() {
    this.glList = GL11.glGenLists(1);
    GL11.glNewList(this.glList, GL11.GL_COMPILE);
    //        if use_texture: glEnable(GL_TEXTURE_2D)
    GL11.glFrontFace(GL11.GL_CCW);//ww w . j ava 2s.c  om
    GL11.glEnable(GL11.GL_CULL_FACE);

    GL11.glPolygonMode(GL11.GL_FRONT, GL11.GL_FILL);
    GL11.glDepthFunc(GL11.GL_LESS);
    GL11.glCullFace(GL11.GL_BACK);
    String currentMaterial = "";
    Material mtl;
    for (Face face : this.faces) {
        if (!face.material.equals(currentMaterial)) {
            currentMaterial = face.material;
            mtl = this.materials.get(face.material);
            if (mtl == null) {
                GL11.glColor3f(1, 1, 1);
            } else {
                //                    if 'texture_Kd' in mtl:
                //                    # use diffuse texmap
                //                    glBindTexture(GL_TEXTURE_2D, mtl['texture_Kd'])
                GL11.glColor3f(mtl.diffuse.x, mtl.diffuse.y, mtl.diffuse.z);
            }
        }

        GL11.glBegin(GL11.GL_POLYGON);
        for (int i = 0; i < face.vertexes.size(); i++) {
            if (face.normals.get(i) != 0) {
                Vector3f n = this.normals.get(face.normals.get(i));
                GL11.glNormal3f(n.x, n.y, n.z);
            }
            //                if texture_coords[i]:
            //                    glTexCoord2fv(self.texcoords[texture_coords[i] - 1])
            Vector3f v = this.vertices.get(face.vertexes.get(i));
            GL11.glVertex3f(v.x, v.y, v.z);
        }
        GL11.glEnd();
    }

    GL11.glCullFace(GL11.GL_BACK);
    GL11.glPolygonMode(GL11.GL_FRONT, GL11.GL_FILL);

    GL11.glDisable(GL11.GL_CULL_FACE);

    //      if use_texture: glDisable(GL11.GL_TEXTURE_2D);
    GL11.glEndList();
}

From source file:net.phatcode.rel.multimedia.Graphics.java

License:Open Source License

public void drawLine(int x1, int y1, int x2, int y2, float r, float g, float b, float a) {
    GL11.glDisable(GL11.GL_TEXTURE_2D);/*from w  w  w.  j av a  2  s  . co  m*/
    GL11.glColor4f(r, g, b, a);

    GL11.glBegin(GL11.GL_LINES);
    GL11.glVertex2i(x1, y1);
    GL11.glVertex2i(x2, y2);
    GL11.glEnd();

    GL11.glEnable(GL11.GL_TEXTURE_2D);

    GL11.glColor4f(1, 1, 1, 1);

}

From source file:net.phatcode.rel.multimedia.Graphics.java

License:Open Source License

public void drawLine(int x1, int y1, int x2, int y2) {
    GL11.glDisable(GL11.GL_TEXTURE_2D);// ww w  .  j av  a 2  s .  c  om

    GL11.glBegin(GL11.GL_LINES);
    GL11.glVertex2i(x1, y1);
    GL11.glVertex2i(x2, y2);
    GL11.glEnd();

    GL11.glEnable(GL11.GL_TEXTURE_2D);

}

From source file:net.phatcode.rel.multimedia.Graphics.java

License:Open Source License

public void drawBox(int x1, int y1, int x2, int y2, float r, float g, float b, float a) {
    GL11.glDisable(GL11.GL_TEXTURE_2D);//from   www  . j  a  va2  s.  c  o  m
    GL11.glColor4f(r, g, b, a);

    GL11.glBegin(GL11.GL_LINE_STRIP);
    GL11.glVertex2i(x1, y1);
    GL11.glVertex2i(x2, y1);
    GL11.glVertex2i(x2, y2);
    GL11.glVertex2i(x1, y2);
    GL11.glVertex2i(x1, y1);
    GL11.glEnd();

    GL11.glEnable(GL11.GL_TEXTURE_2D);

    GL11.glColor4f(1, 1, 1, 1);

}

From source file:net.phatcode.rel.multimedia.Graphics.java

License:Open Source License

public void drawBox(int x1, int y1, int x2, int y2) {
    GL11.glDisable(GL11.GL_TEXTURE_2D);//from ww w  .  j a v a  2s  . c  om

    GL11.glBegin(GL11.GL_LINE_STRIP);
    GL11.glVertex2i(x1, y1);
    GL11.glVertex2i(x2, y1);
    GL11.glVertex2i(x2, y2);
    GL11.glVertex2i(x1, y2);
    GL11.glVertex2i(x1, y1);
    GL11.glEnd();

    GL11.glEnable(GL11.GL_TEXTURE_2D);

}