GL11.glVertex3f(-dimensions.x, dimensions.y, dimensions.z); GL11.glVertex3f(dimensions.x, dimensions.y, dimensions.z); GL11.glVertex3f(dimensions.x, dimensions.y, -dimensions.z); GL11.glVertex3f(-dimensions.x, dimensions.y, -dimensions.z); GL11.glVertex3f(-dimensions.x, -dimensions.y, -dimensions.z); GL11.glVertex3f(-dimensions.x, -dimensions.y, dimensions.z); GL11.glVertex3f(-dimensions.x, dimensions.y, dimensions.z); GL11.glVertex3f(-dimensions.x, dimensions.y, -dimensions.z); GL11.glVertex3f(-dimensions.x, -dimensions.y, dimensions.z); GL11.glVertex3f(dimensions.x, -dimensions.y, dimensions.z); GL11.glVertex3f(dimensions.x, dimensions.y, dimensions.z); GL11.glVertex3f(-dimensions.x, dimensions.y, dimensions.z); GL11.glVertex3f(dimensions.x, dimensions.y, -dimensions.z); GL11.glVertex3f(dimensions.x, dimensions.y, dimensions.z); GL11.glVertex3f(dimensions.x, -dimensions.y, dimensions.z); GL11.glVertex3f(dimensions.x, -dimensions.y, -dimensions.z); GL11.glVertex3f(-dimensions.x, dimensions.y, -dimensions.z); GL11.glVertex3f(dimensions.x, dimensions.y, -dimensions.z); GL11.glVertex3f(dimensions.x, -dimensions.y, -dimensions.z); GL11.glVertex3f(-dimensions.x, -dimensions.y, -dimensions.z); GL11.glVertex3f(-dimensions.x, -dimensions.y, -dimensions.z); GL11.glVertex3f(dimensions.x, -dimensions.y, -dimensions.z); GL11.glVertex3f(dimensions.x, -dimensions.y, dimensions.z); GL11.glVertex3f(-dimensions.x, -dimensions.y, dimensions.z);
glVertex3f(-dimensions.x - offset, -dimensions.y - offset, -dimensions.z - offset); glVertex3f(+dimensions.x + offset, -dimensions.y - offset, -dimensions.z - offset); glVertex3f(+dimensions.x + offset, +dimensions.y + offset, -dimensions.z - offset); glVertex3f(-dimensions.x - offset, +dimensions.y + offset, -dimensions.z - offset); glEnd(); glVertex3f(-dimensions.x - offset, -dimensions.y - offset, +dimensions.z + offset); glVertex3f(+dimensions.x + offset, -dimensions.y - offset, +dimensions.z + offset); glVertex3f(+dimensions.x + offset, +dimensions.y + offset, +dimensions.z + offset); glVertex3f(-dimensions.x - offset, +dimensions.y + offset, +dimensions.z + offset); glEnd(); glVertex3f(-dimensions.x - offset, -dimensions.y - offset, -dimensions.z - offset); glVertex3f(+dimensions.x + offset, -dimensions.y - offset, -dimensions.z - offset); glVertex3f(+dimensions.x + offset, -dimensions.y - offset, +dimensions.z + offset); glVertex3f(-dimensions.x - offset, -dimensions.y - offset, +dimensions.z + offset); glEnd(); glVertex3f(-dimensions.x - offset, +dimensions.y + offset, -dimensions.z - offset); glVertex3f(+dimensions.x + offset, +dimensions.y + offset, -dimensions.z - offset); glVertex3f(+dimensions.x + offset, +dimensions.y + offset, +dimensions.z + offset); glVertex3f(-dimensions.x - offset, +dimensions.y + offset, +dimensions.z + offset); glEnd(); glVertex3f(-dimensions.x - offset, -dimensions.y - offset, -dimensions.z - offset); glVertex3f(-dimensions.x - offset, -dimensions.y - offset, +dimensions.z + offset); glVertex3f(-dimensions.x - offset, +dimensions.y + offset, +dimensions.z + offset); glVertex3f(-dimensions.x - offset, +dimensions.y + offset, -dimensions.z - offset); glEnd();
@Override public void initialise() { // Nasty hack to only run LWJGL code with a LwjglDisplayDevice. Should be unnecessary once "big todo" for drawParticles is resolved. if (!(displayDevice instanceof LwjglDisplayDevice)) { return; } drawUnitQuad = new DisplayList(() -> { glBegin(GL_TRIANGLE_FAN); GL11.glTexCoord2f(UNIT_QUAD_VERTICES[0] + 0.5f, -UNIT_QUAD_VERTICES[1] + 0.5f); GL11.glVertex3f(UNIT_QUAD_VERTICES[0], UNIT_QUAD_VERTICES[1], UNIT_QUAD_VERTICES[2]); GL11.glTexCoord2f(UNIT_QUAD_VERTICES[3] + 0.5f, -UNIT_QUAD_VERTICES[4] + 0.5f); GL11.glVertex3f(UNIT_QUAD_VERTICES[3], UNIT_QUAD_VERTICES[4], UNIT_QUAD_VERTICES[5]); GL11.glTexCoord2f(UNIT_QUAD_VERTICES[6] + 0.5f, -UNIT_QUAD_VERTICES[7] + 0.5f); GL11.glVertex3f(UNIT_QUAD_VERTICES[6], UNIT_QUAD_VERTICES[7], UNIT_QUAD_VERTICES[8]); GL11.glTexCoord2f(UNIT_QUAD_VERTICES[9] + 0.5f, -UNIT_QUAD_VERTICES[10] + 0.5f); GL11.glVertex3f(UNIT_QUAD_VERTICES[9], UNIT_QUAD_VERTICES[10], UNIT_QUAD_VERTICES[11]); glEnd(); }); }
private void drawBitmap (String text, int startIndex, int endIndex) { BitmapFontData data = bitmapFont.getData(); int padY = paddingTop + paddingBottom + paddingAdvanceY; data.setLineHeight(data.lineHeight + padY); layout.setText(bitmapFont, text); data.setLineHeight(data.lineHeight - padY); for (GlyphRun run : layout.runs) for (int i = 0, n = run.xAdvances.size; i < n; i++) run.xAdvances.incr(i, paddingAdvanceX + paddingLeft + paddingRight); cache.setText(layout, paddingLeft, paddingRight); Array<TextureRegion> regions = bitmapFont.getRegions(); for (int i = 0, n = regions.size; i < n; i++) { regions.get(i).getTexture().bind(); GL11.glBegin(GL11.GL_QUADS); float[] vertices = cache.getVertices(i); for (int ii = 0, nn = vertices.length; ii < nn; ii += 20) { GL11.glTexCoord2f(vertices[ii + U], vertices[ii + V]); GL11.glVertex3f(vertices[ii + X], vertices[ii + Y], 0); GL11.glTexCoord2f(vertices[ii + U], vertices[ii + V2]); GL11.glVertex3f(vertices[ii + X], vertices[ii + Y2], 0); GL11.glTexCoord2f(vertices[ii + U2], vertices[ii + V2]); GL11.glVertex3f(vertices[ii + X2], vertices[ii + Y2], 0); GL11.glTexCoord2f(vertices[ii + U2], vertices[ii + V]); GL11.glVertex3f(vertices[ii + X2], vertices[ii + Y], 0); } GL11.glEnd(); } }
private void drawBitmap (String text, int startIndex, int endIndex) { BitmapFontData data = bitmapFont.getData(); int padY = paddingTop + paddingBottom + paddingAdvanceY; data.setLineHeight(data.lineHeight + padY); layout.setText(bitmapFont, text); data.setLineHeight(data.lineHeight - padY); for (GlyphRun run : layout.runs) for (int i = 0, n = run.xAdvances.size; i < n; i++) run.xAdvances.incr(i, paddingAdvanceX + paddingLeft + paddingRight); cache.setText(layout, paddingLeft, paddingRight); Array<TextureRegion> regions = bitmapFont.getRegions(); for (int i = 0, n = regions.size; i < n; i++) { regions.get(i).getTexture().bind(); GL11.glBegin(GL11.GL_QUADS); float[] vertices = cache.getVertices(i); for (int ii = 0, nn = vertices.length; ii < nn; ii += 20) { GL11.glTexCoord2f(vertices[ii + U], vertices[ii + V]); GL11.glVertex3f(vertices[ii + X], vertices[ii + Y], 0); GL11.glTexCoord2f(vertices[ii + U], vertices[ii + V2]); GL11.glVertex3f(vertices[ii + X], vertices[ii + Y2], 0); GL11.glTexCoord2f(vertices[ii + U2], vertices[ii + V2]); GL11.glVertex3f(vertices[ii + X2], vertices[ii + Y2], 0); GL11.glTexCoord2f(vertices[ii + U2], vertices[ii + V]); GL11.glVertex3f(vertices[ii + X2], vertices[ii + Y], 0); } GL11.glEnd(); } }
renderingBackgroundColor.a); glBegin(GL_QUADS); glVertex3f(0, 0, 0); glVertex3f(0, texture.getHeight(), 0); glVertex3f(texture.getWidth(), texture.getHeight(), 0); glVertex3f(texture.getWidth(), 0, 0); glEnd(); glEnable(GL_TEXTURE_2D); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(0, 0, 0); glVertex3f(0, texture.getHeight(), 0); glVertex3f(texture.getWidth(), texture.getHeight(), 0); glVertex3f(texture.getWidth(), 0, 0); glEnd();
renderingBackgroundColor.a); glBegin(GL_QUADS); glVertex3f(0, 0, 0); glVertex3f(0, texture.getHeight(), 0); glVertex3f(texture.getWidth(), texture.getHeight(), 0); glVertex3f(texture.getWidth(), 0, 0); glEnd(); glEnable(GL_TEXTURE_2D); glBegin(GL_QUADS); glTexCoord2f(0, 0); glVertex3f(0, 0, 0); glVertex3f(0, texture.getHeight(), 0); glVertex3f(texture.getWidth(), texture.getHeight(), 0); glVertex3f(texture.getWidth(), 0, 0); glEnd();
private void renderBoneOrientation(EntityRef boneEntity) { LocationComponent loc = boneEntity.getComponent(LocationComponent.class); if (loc == null) { return; } glPushMatrix(); Vector3f worldPosA = loc.getWorldPosition(); Quat4f worldRot = loc.getWorldRotation(); Vector3f offset = new Vector3f(0, 0, 0.1f); worldRot.rotate(offset, offset); offset.add(worldPosA); glBegin(GL11.GL_LINES); glVertex3f(worldPosA.x, worldPosA.y, worldPosA.z); glVertex3f(offset.x, offset.y, offset.z); glEnd(); loc.getChildren().forEach(this::renderBoneOrientation); glPopMatrix(); }
int glyphY = bounds.y + extraY; GL11.glTexCoord2f(glyph.getU(), glyph.getV()); GL11.glVertex3f(glyphX, glyphY, 0); GL11.glTexCoord2f(glyph.getU(), glyph.getV2()); GL11.glVertex3f(glyphX, glyphY + glyph.getHeight(), 0); GL11.glTexCoord2f(glyph.getU2(), glyph.getV2()); GL11.glVertex3f(glyphX + glyph.getWidth(), glyphY + glyph.getHeight(), 0); GL11.glTexCoord2f(glyph.getU2(), glyph.getV()); GL11.glVertex3f(glyphX + glyph.getWidth(), glyphY, 0);
int glyphY = bounds.y + extraY; GL11.glTexCoord2f(glyph.getU(), glyph.getV()); GL11.glVertex3f(glyphX, glyphY, 0); GL11.glTexCoord2f(glyph.getU(), glyph.getV2()); GL11.glVertex3f(glyphX, glyphY + glyph.getHeight(), 0); GL11.glTexCoord2f(glyph.getU2(), glyph.getV2()); GL11.glVertex3f(glyphX + glyph.getWidth(), glyphY + glyph.getHeight(), 0); GL11.glTexCoord2f(glyph.getU2(), glyph.getV()); GL11.glVertex3f(glyphX + glyph.getWidth(), glyphY, 0);
private void renderBone(EntityRef boneEntity, Vector3f centerPos) { LocationComponent loc = boneEntity.getComponent(LocationComponent.class); if (loc == null) { return; } LocationComponent parentLoc = loc.getParent().getComponent(LocationComponent.class); if (parentLoc != null) { Vector3f worldPosA = loc.getWorldPosition(); worldPosA.sub(centerPos); Vector3f worldPosB = parentLoc.getWorldPosition(); worldPosB.sub(centerPos); glBegin(GL11.GL_LINES); glVertex3f(worldPosA.x, worldPosA.y, worldPosA.z); glVertex3f(worldPosB.x, worldPosB.y, worldPosB.z); glEnd(); for (EntityRef child : loc.getChildren()) { renderBone(child, centerPos); } } } }
glVertex3f(min.x(), min.y(), min.z()); glVertex3f(max.x(), min.y(), min.z()); glEnd(); glVertex3f(min.x(), max.y(), min.z()); glVertex3f(max.x(), max.y(), min.z()); glEnd(); glVertex3f(min.x(), min.y(), max.z()); glVertex3f(max.x(), min.y(), max.z()); glEnd(); glVertex3f(min.x(), max.y(), max.z()); glVertex3f(max.x(), max.y(), max.z()); glEnd(); glVertex3f(min.x(), min.y(), min.z()); glVertex3f(min.x(), max.y(), min.z()); glEnd(); glVertex3f(max.x(), min.y(), min.z()); glVertex3f(max.x(), max.y(), min.z()); glEnd(); glVertex3f(min.x(), min.y(), max.z()); glVertex3f(min.x(), max.y(), max.z()); glEnd(); glVertex3f(max.x(), min.y(), max.z());
/** * @see org.newdawn.slick.opengl.renderer.SGL#glVertex3f(float, float, float) */ public void glVertex3f(float x, float y, float z) { GL11.glVertex3f(x, y, z); }
static public void drawConnectionPinSixNode(float d, float w, float h) { d += 0.1f; d *= 0.0625f; w *= 0.0625f; h *= 0.0625f; float w2 = w * 0.5f; disableTexture(); GL11.glBegin(GL11.GL_QUADS); GL11.glVertex3f(-w2, d, 0); GL11.glVertex3f(w2, d, 0); GL11.glVertex3f(w2, d, h); GL11.glVertex3f(-w2, d, h); GL11.glEnd(); enableTexture(); }
private void drawBox(Vec3[] from, Vec3[] to) { Vec3 v[] = new Vec3[]{from[0], from[1], from[2], from[3], to[0], to[1], to[2], to[3]}; // Figure out the lighting. // Vec3 middle = Vec3.createVectorHelper(0, 0, 0); // for (Vec3 x : v) { // middle = middle.addVector(x.xCoord, x.yCoord, x.zCoord); // } // middle = multiply(middle, v.length).addVector(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); // glColor3d( // 139 / 255.0, // 69 / 255.0, // 19 / 255.0); // And let's draw it all. for (int i = 0; i < box.length; i++) { final int bc = box[i] - 1; glTexCoord2f(boxTex[bc * 2], boxTex[bc * 2 + 1]); glVertex3f((float) v[bc].xCoord, (float) v[bc].yCoord, (float) v[bc].zCoord); } }
@Override public float renderChar(char letter, boolean italicFlag, float x, float y, FontRendererCore fontRenderer) { GL11.glColor4f(1, 1, 1, 1); fontRenderer.bindTexture(textureSheet); float italicOffset = italicFlag ? 1.0F : 0.0F; GL11.glBegin(GL11.GL_TRIANGLE_STRIP); GL11.glTexCoord2f(u / 256.0F, v / 256.0F); GL11.glVertex3f(x + italicOffset, y, 0.0F); GL11.glTexCoord2f(u / 256.0F, (v + h) / 256.0F); GL11.glVertex3f(x - italicOffset, y + 7.99F, 0.0F); GL11.glTexCoord2f((u + w) / 256.0F, v / 256.0F); GL11.glVertex3f(x + sw + italicOffset, y, 0.0F); GL11.glTexCoord2f((u + w) / 256.0F, (v + h) / 256.0F); GL11.glVertex3f(x + sw - italicOffset, y + 7.99F, 0.0F); GL11.glEnd(); fontRenderer.resetColor(); return rw; }
private void renderCrossHair(Window window) { if (window.getWindowOptions().compatibleProfile) { glPushMatrix(); glLoadIdentity(); float inc = 0.05f; glLineWidth(2.0f); glBegin(GL_LINES); glColor3f(1.0f, 1.0f, 1.0f); // Horizontal line glVertex3f(-inc, 0.0f, 0.0f); glVertex3f(+inc, 0.0f, 0.0f); glEnd(); // Vertical line glBegin(GL_LINES); glVertex3f(0.0f, -inc, 0.0f); glVertex3f(0.0f, +inc, 0.0f); glEnd(); glPopMatrix(); } }
private void renderCrossHair(Window window) { if (window.getWindowOptions().compatibleProfile) { glPushMatrix(); glLoadIdentity(); float inc = 0.05f; glLineWidth(2.0f); glBegin(GL_LINES); glColor3f(1.0f, 1.0f, 1.0f); // Horizontal line glVertex3f(-inc, 0.0f, 0.0f); glVertex3f(+inc, 0.0f, 0.0f); glEnd(); // Vertical line glBegin(GL_LINES); glVertex3f(0.0f, -inc, 0.0f); glVertex3f(0.0f, +inc, 0.0f); glEnd(); glPopMatrix(); } }
public void drawLine(int x1, int y1, int x2, int y2, int thickness, int color) { GlStateManager.disableTexture2D(); applyColor(color); GL11.glEnable(GL11.GL_LINE_SMOOTH); GL11.glLineWidth(1 + thickness * this.width / 500F); GL11.glBegin(GL11.GL_LINES); GL11.glVertex3f(x1, y1, 0); GL11.glVertex3f(x2, y2, 0); GL11.glEnd(); GlStateManager.enableTexture2D(); }
/** * @see DrawStuffApi#dsDrawLine(float[], float[]) */ @Override public void dsDrawLine (final float[] pos1, final float[] pos2) { setupDrawingMode(); GL11.glColor3f (color[0],color[1],color[2]); GL11.glDisable (GL11.GL_LIGHTING); GL11.glLineWidth (2); GL11.glShadeModel (GL11.GL_FLAT); GL11.glBegin (GL11.GL_LINES); GL11.glVertex3f (pos1[0],pos1[1],pos1[2]); GL11.glVertex3f (pos2[0],pos2[1],pos2[2]); GL11.glEnd(); }