List of usage examples for org.lwjgl.opengl GL11 glBegin
public static native void glBegin(@NativeType("GLenum") int mode);
From source file:com.timvisee.voxeltex.architecture.component.drawable.line.GridDrawComponent.java
License:Open Source License
@Override public synchronized void onDraw() { // Set the thickness of the axis drawn GL11.glLineWidth(this.lineWidth); // Enable line drawing mode GL11.glBegin(GL11.GL_LINES); // Set the grid color GL11.glColor3f(0.2f, 0.2f, 0.2f);/* w w w . j a v a 2 s. c o m*/ // Draw the grid for (int i = -20; i <= 20; i++) { GL11.glVertex3f(-20.0f, 0.0f, i); GL11.glVertex3f(20.0f, 0.0f, i); GL11.glVertex3f(i, 0.0f, -20.0f); GL11.glVertex3f(i, 0.0f, 20.0f); } // Finish drawing GL11.glEnd(); }
From source file:com.timvisee.voxeltex.module.render.RenderOverlayHelper.java
License:Open Source License
/** * Render a rectangle at the given position. * * @param x Rectangle X position.//from w ww .j av a2 s. c om * @param y Rectangle Y position. * @param w Rectangle width. * @param h Rectangle height. */ public static void renderRectangle(float x, float y, float w, float h) { // Enable line drawing mode GL11.glBegin(GL11.GL_QUADS); // Draw the grid GL11.glVertex3f(x, y, 0f); GL11.glTexCoord2f(1, 1); GL11.glVertex3f(x + w, y, 0f); GL11.glTexCoord2f(1, 0); GL11.glVertex3f(x + w, y + h, 0f); GL11.glTexCoord2f(0, 0); GL11.glVertex3f(x, y + h, 0f); GL11.glTexCoord2f(0, 1); // Finish drawing GL11.glEnd(); }
From source file:com.timvisee.voxeltex.module.render.RenderOverlayHelper.java
License:Open Source License
/** * Render a line at the given position./*from w w w.j a v a2 s . co m*/ * * @param x Line X position. * @param y Line Y position. * @param w Line width. * @param h Line height. */ public static void renderLine(float x, float y, float w, float h) { // Enable line drawing mode GL11.glBegin(GL11.GL_LINES); // Draw the grid GL11.glVertex3f(x, y, 0f); GL11.glVertex3f(x + w, y + h, 0f); // Finish drawing GL11.glEnd(); }
From source file:com.wicpar.sinkingsimulatorclassic.Ground.java
License:Open Source License
@Override public void draw() { GL11.glEnable(GL11.GL_DEPTH_TEST);/* w w w. ja va2s .co m*/ GL11.glBegin(GL11.GL_QUADS); GL11.glColor4f(FloorColor.r, FloorColor.g, FloorColor.b, FloorColor.a); double h = Main.ClassicSinkingSim.getInstance().getCam().transformY(this.h); GL11.glVertex3d(-1, h, -0.8); GL11.glVertex3d(-1, -1, -0.8); GL11.glVertex3d(1, -1, -0.8); GL11.glVertex3d(1, h, -0.8); GL11.glEnd(); GL11.glDisable(GL11.GL_DEPTH_TEST); }
From source file:com.wicpar.sinkingsimulatorclassic.Sea.java
License:Open Source License
@Override public void draw() { GL11.glEnable(GL11.GL_DEPTH_TEST);/* w w w . j a va 2 s . c o m*/ GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glDisable(GL11.GL_POLYGON_SMOOTH); time = Base.getTimePassed(); GL11.glBegin(GL11.GL_QUAD_STRIP); GL11.glColor4f(SeaColor.r, SeaColor.g, SeaColor.b, SeaColor.a); for (int i = 0; i <= divisions; i++) { double pos = ((double) (i) / (divisions)) * 2 - 1; GL11.glVertex3d(pos, -1, -0.07); GL11.glVertex3d(pos, cam.transformY(getHeight(cam.untransformX(pos), time)), -0.07); } GL11.glEnd(); GL11.glEnable(GL11.GL_POLYGON_SMOOTH); GL11.glLineWidth(2); GL11.glBegin(GL11.GL_LINE_STRIP); GL11.glColor4f(SeaColor.r, SeaColor.g, SeaColor.b, 1); for (int i = 0; i <= divisions; i++) { double pos = ((double) (i) / (divisions)) * 2 - 1; GL11.glVertex3d(pos, cam.transformY(getHeight(cam.untransformX(pos), time)), -0.07); } GL11.glEnd(); GL11.glLineWidth(1); GL11.glDisable(GL11.GL_BLEND); GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glLineWidth(1); }
From source file:com.wicpar.sinkingsimulatorclassic.Ship.java
License:Open Source License
@Override public void draw() { final Camera cam = Main.ClassicSinkingSim.getInstance().getCam(); GL11.glEnable(GL11.GL_DEPTH_TEST);//from w w w. j av a 2 s .com GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glPointSize((float) Main.ClassicSinkingSim.getInstance().getCam().scaleSize(0.1)); GL11.glBegin(GL11.GL_POINTS); for (Shipsel[] s : shipsels) { if (s != null) for (Shipsel shipsel : s) { if (shipsel != null) { Color c = shipsel.getColor(); Vector3d pos = shipsel.getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 0.8); } } } GL11.glEnd(); GL11.glPointSize(1); GL11.glLineWidth((float) Main.ClassicSinkingSim.getInstance().getCam().scaleSize(0.1)); boolean t, b, l, r, e, f; Color c; Vector3d pos; GL11.glBegin(GL11.GL_LINES); for (int y = 0; y < springs[1].length; y++) { for (int x = 0; x < springs[1][y].length; x++) { t = springs[0][y][x]; l = springs[2][y][x]; e = springs[1][y][x]; f = springs[3][y][x]; if (t && (shipsels[y][x] == null || shipsels[y][x + 1] == null)) { springs[0][y][x] = false; } if (l && (shipsels[y][x] == null || shipsels[y + 1][x] == null)) { springs[2][y][x] = false; } if (e && (shipsels[y][x] == null || shipsels[y + 1][x + 1] == null)) { springs[1][y][x] = false; } if (f && (shipsels[y][x + 1] == null || shipsels[y + 1][x] == null)) { springs[3][y][x] = false; } t = springs[0][y][x]; b = springs[0][y + 1][x]; l = springs[2][y][x]; r = springs[2][y][x + 1]; e = springs[1][y][x]; f = springs[3][y][x]; if (t && b && l && r && e && f) continue; if (t && r && e) continue; if (b && l && e) continue; if (t && l && f) continue; if (b && r && f) continue; if (t) { c = shipsels[y][x].getColor(); pos = shipsels[y][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 0.9); c = shipsels[y][x + 1].getColor(); pos = shipsels[y][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 0.9); } if (l) { c = shipsels[y][x].getColor(); pos = shipsels[y][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 0.9); c = shipsels[y + 1][x].getColor(); pos = shipsels[y + 1][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 0.9); } if (e) { c = shipsels[y][x].getColor(); pos = shipsels[y][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 0.9); c = shipsels[y + 1][x + 1].getColor(); pos = shipsels[y + 1][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 0.9); } if (f) { c = shipsels[y][x + 1].getColor(); pos = shipsels[y][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 0.9); c = shipsels[y + 1][x].getColor(); pos = shipsels[y + 1][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 0.9); } } } GL11.glEnd(); GL11.glBegin(GL11.GL_TRIANGLES); for (int y = 0; y < springs[1].length; y++) { for (int x = 0; x < springs[1][y].length; x++) { t = springs[0][y][x]; b = springs[0][y + 1][x]; l = springs[2][y][x]; r = springs[2][y][x + 1]; e = springs[1][y][x]; f = springs[3][y][x]; if (t && b && l && r && e && f) { c = shipsels[y][x].getColor(); pos = shipsels[y][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y][x + 1].getColor(); pos = shipsels[y][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y + 1][x].getColor(); pos = shipsels[y + 1][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y][x + 1].getColor(); pos = shipsels[y][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y + 1][x].getColor(); pos = shipsels[y + 1][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y + 1][x + 1].getColor(); pos = shipsels[y + 1][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); } else { if (t && r && e) { c = shipsels[y][x].getColor(); pos = shipsels[y][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y][x + 1].getColor(); pos = shipsels[y][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y + 1][x + 1].getColor(); pos = shipsels[y + 1][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); } if (b && l && e) { c = shipsels[y][x].getColor(); pos = shipsels[y][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y + 1][x].getColor(); pos = shipsels[y + 1][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y + 1][x + 1].getColor(); pos = shipsels[y + 1][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); } if (t && l && f) { c = shipsels[y][x].getColor(); pos = shipsels[y][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y][x + 1].getColor(); pos = shipsels[y][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y + 1][x].getColor(); pos = shipsels[y + 1][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); } if (b && r && f) { c = shipsels[y + 1][x].getColor(); pos = shipsels[y + 1][x].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y + 1][x + 1].getColor(); pos = shipsels[y + 1][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); c = shipsels[y][x + 1].getColor(); pos = shipsels[y][x + 1].getPos(); GL11.glColor4f(c.r, c.g, c.b, c.a); GL11.glVertex3d(cam.transformX(pos.x), cam.transformY(pos.y), 1); } } } } GL11.glEnd(); GL11.glLineWidth(1); GL11.glDisable(GL11.GL_BLEND); GL11.glDisable(GL11.GL_DEPTH_TEST); }
From source file:com.wicpar.sinkingsimulatorclassic.Sky.java
License:Open Source License
@Override public void draw() { GL11.glEnable(GL11.GL_DEPTH_TEST);/*from www. j a va 2s .com*/ GL11.glBegin(GL11.GL_QUADS); GL11.glColor4f(SkyColor.r, SkyColor.g, SkyColor.b, SkyColor.a); GL11.glVertex3d(-1, -1, -0.9); GL11.glVertex3d(-1, 1, -0.9); GL11.glVertex3d(1, 1, -0.9); GL11.glVertex3d(1, -1, -0.9); GL11.glEnd(); GL11.glDisable(GL11.GL_DEPTH_TEST); }
From source file:de.keyle.dungeoncraft.editor.editors.world.render.Renderer.java
License:Open Source License
/** * Renders a nonstandard vertical rectangle (nonstandard referring primarily to * the texture size (ie: when we're not pulling a single element out of a 16x16 * grid). This differs from renderVertical also in that we specify two full * (x, y, z) coordinates for the bounds, instead of passing in y and a height. * Texture coordinates are passed in as the usual float from 0 to 1. * * @param tx X index within the texture * @param ty Y index within the texture * @param tdx Width of texture// www . j a v a 2s .c o m * @param tdy Height of texture * @param x1 * @param y1 * @param z1 * @param x2 * @param y2 * @param z2 */ public static void renderNonstandardVertical(float tx, float ty, float tdx, float tdy, float x1, float y1, float z1, float x2, float y2, float z2) { GL11.glBegin(GL11.GL_TRIANGLE_STRIP); GL11.glTexCoord2f(tx, ty + tdy); GL11.glVertex3f(x1, y1, z1); GL11.glTexCoord2f(tx + tdx, ty + tdy); GL11.glVertex3f(x2, y1, z2); GL11.glTexCoord2f(tx, ty); GL11.glVertex3f(x1, y2, z1); GL11.glTexCoord2f(tx + tdx, ty); GL11.glVertex3f(x2, y2, z2); // unflipped textures /* GL11.glTexCoord2f(tx, ty); GL11.glVertex3f(x1, y1, z1); GL11.glTexCoord2f(tx + tdx, ty); GL11.glVertex3f(x2, y1, z2); GL11.glTexCoord2f(tx, ty + tdy); GL11.glVertex3f(x1, y2, z1); GL11.glTexCoord2f(tx + tdx, ty + tdy); GL11.glVertex3f(x2, y2, z2); */ GL11.glEnd(); }
From source file:de.keyle.dungeoncraft.editor.editors.world.render.Renderer.java
License:Open Source License
/** * Renders a somewhat-arbitrary vertical rectangle. Pass in (x, z) pairs for the endpoints, * and information about the height. The texture variables given are in terms of 1/16ths of * the texture square, which means that for the default Minecraft 16x16 texture, they're in * pixels./*from www .j a v a2 s. co m*/ * * @param x1 * @param z1 * @param x2 * @param z2 * @param y The lower part of the rectangle * @param height Height of the rectangle. */ public static void renderVertical(float tx, float ty, float tdx, float tdy, float x1, float z1, float x2, float z2, float y, float height) { GL11.glBegin(GL11.GL_TRIANGLE_STRIP); GL11.glTexCoord2f(tx, ty); GL11.glVertex3f(x1, y + height, z1); GL11.glTexCoord2f(tx + tdx, ty); GL11.glVertex3f(x2, y + height, z2); GL11.glTexCoord2f(tx, ty + tdy); GL11.glVertex3f(x1, y, z1); GL11.glTexCoord2f(tx + tdx, ty + tdy); GL11.glVertex3f(x2, y, z2); GL11.glEnd(); }
From source file:de.keyle.dungeoncraft.editor.editors.world.render.Renderer.java
License:Open Source License
/** * Renders an arbitrary horizontal rectangle (will be orthogonal). The texture parameters * are specified in terms of 1/16ths of the texture (which equates to one pixel, when using * the default 16x16 Minecraft texture.//from ww w. j a v a 2 s . c o m * * @param x1 * @param z1 * @param x2 * @param z2 * @param y */ public static void renderHorizontal(float x1, float z1, float x2, float z2, float y, float tex_start_x, float tex_start_y, float tex_width, float tex_height, boolean flip_tex) { GL11.glBegin(GL11.GL_TRIANGLE_STRIP); if (flip_tex) { GL11.glTexCoord2f(tex_start_x, tex_start_y); GL11.glVertex3f(x1, y, z2); GL11.glTexCoord2f(tex_start_x + tex_width, tex_start_y); GL11.glVertex3f(x2, y, z2); GL11.glTexCoord2f(tex_start_x, tex_start_y + tex_height); GL11.glVertex3f(x1, y, z1); GL11.glTexCoord2f(tex_start_x + tex_width, tex_start_y + tex_height); GL11.glVertex3f(x2, y, z1); } else { GL11.glTexCoord2f(tex_start_x, tex_start_y); GL11.glVertex3f(x1, y, z1); GL11.glTexCoord2f(tex_start_x + tex_width, tex_start_y); GL11.glVertex3f(x1, y, z2); GL11.glTexCoord2f(tex_start_x, tex_start_y + tex_height); GL11.glVertex3f(x2, y, z1); GL11.glTexCoord2f(tex_start_x + tex_width, tex_start_y + tex_height); GL11.glVertex3f(x2, y, z2); } GL11.glEnd(); }