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(); }
glBegin(GL_LINE_LOOP); glVertex3f(-dimensions.x - offset, -dimensions.y - offset, -dimensions.z - offset); glVertex3f(+dimensions.x + offset, -dimensions.y - offset, -dimensions.z - offset); glBegin(GL_LINE_LOOP); glVertex3f(-dimensions.x - offset, -dimensions.y - offset, +dimensions.z + offset); glVertex3f(+dimensions.x + offset, -dimensions.y - offset, +dimensions.z + offset); glBegin(GL_LINE_LOOP); glVertex3f(-dimensions.x - offset, -dimensions.y - offset, -dimensions.z - offset); glVertex3f(+dimensions.x + offset, -dimensions.y - offset, -dimensions.z - offset); glBegin(GL_LINE_LOOP); glVertex3f(-dimensions.x - offset, +dimensions.y + offset, -dimensions.z - offset); glVertex3f(+dimensions.x + offset, +dimensions.y + offset, -dimensions.z - offset); glBegin(GL_LINE_LOOP); glVertex3f(-dimensions.x - offset, -dimensions.y - offset, -dimensions.z - offset); glVertex3f(-dimensions.x - offset, -dimensions.y - offset, +dimensions.z + offset); glBegin(GL_LINE_LOOP); glVertex3f(+dimensions.x + offset, -dimensions.y - offset, -dimensions.z - offset); glVertex3f(+dimensions.x + offset, -dimensions.y - offset, +dimensions.z + offset);
@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(); }); }
GL11.glBegin(GL11.GL_QUADS); lastBind = texture;
GL11.glBegin(GL11.GL_QUADS); lastBind = texture;
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); } } } }
private static void renderQuad() { if (displayListQuad == -1) { displayListQuad = glGenLists(1); glNewList(displayListQuad, GL11.GL_COMPILE); glBegin(GL_QUADS); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glTexCoord2d(0.0, 0.0); glVertex3i(-1, -1, -1); glTexCoord2d(1.0, 0.0); glVertex3i(1, -1, -1); glTexCoord2d(1.0, 1.0); glVertex3i(1, 1, -1); glTexCoord2d(0.0, 1.0); glVertex3i(-1, 1, -1); glEnd(); glEndList(); } glCallList(displayListQuad); } }
glBegin(GL11.GL_LINES); glVertex3f(min.x(), min.y(), min.z()); glVertex3f(max.x(), min.y(), min.z()); glEnd(); glBegin(GL11.GL_LINES); glVertex3f(min.x(), max.y(), min.z()); glVertex3f(max.x(), max.y(), min.z()); glEnd(); glBegin(GL11.GL_LINES); glVertex3f(min.x(), min.y(), max.z()); glVertex3f(max.x(), min.y(), max.z()); glEnd(); glBegin(GL11.GL_LINES); glVertex3f(min.x(), max.y(), max.z()); glVertex3f(max.x(), max.y(), max.z()); glBegin(GL11.GL_LINES); glVertex3f(min.x(), min.y(), min.z()); glVertex3f(min.x(), max.y(), min.z()); glEnd(); glBegin(GL11.GL_LINES); glVertex3f(max.x(), min.y(), min.z()); glVertex3f(max.x(), max.y(), min.z()); 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(); } }
glBegin(GL_QUADS); glColor4f(solidColor.x, solidColor.y, solidColor.z, solidColor.w);
/** * @see org.newdawn.slick.opengl.renderer.SGL#glBegin(int) */ public void glBegin(int geomType) { GL11.glBegin(geomType); }
GlStateManager.disableTexture2D(); GL11.glLineWidth(3F); GL11.glBegin(GL11.GL_LINE_STRIP); GlStateManager.color(0F, 1F, 1F, 1F); for(int i = 0; i < 361; i++) {
public static void drawCircle(double radius, int segments) { glBegin(GL_POLYGON); for (int i = 0; i < segments; i++) { glVertex3d(Math.sin((i / (double) segments) * Math.PI * 2) * radius, Math.cos((i / (double) segments) * Math.PI * 2) * radius, 0); } glEnd(); }
private void drawFov(ScaledResolution resolution) { double aspectRatio = resolution.getScaledWidth_double() / resolution.getScaledHeight_double(); float angleAdd = (float) 180; float fovAngle = mc.gameSettings.fovSetting * 0.5f * (float) aspectRatio; glBegin(GL_LINE_STRIP); glVertex3d(0, 0, 0); glVertex3d(Math.sin(Math.toRadians(fovAngle + angleAdd)) * RADIUS, Math.cos(Math.toRadians(fovAngle + angleAdd)) * RADIUS, 0); glVertex3d(0, 0, 0); glVertex3d(Math.sin(Math.toRadians(-fovAngle + angleAdd)) * RADIUS, Math.cos(Math.toRadians(-fovAngle + angleAdd)) * RADIUS, 0); glEnd(); }
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(); }
private void drawQuad(float x1, float y1, float x2, float y2, float u1, float v1, float u2, float v2) { glBegin(GL_QUADS); { glTexCoord2f(u1, v1); glVertex2f(x1, y1); glTexCoord2f(u2, v1); glVertex2f(x2, y1); glTexCoord2f(u2, v2); glVertex2f(x2, y2); glTexCoord2f(u1, v2); glVertex2f(x1, y2); } glEnd(); }
protected void drawConnection(Star from, Star to, double distanceMultiply) { GlStateManager.disableTexture2D(); RenderUtils.applyColorWithMultipy(Reference.COLOR_HOLO, 0.3f); glBegin(GL_LINE_STRIP); glVertex3d(from.getX() * distanceMultiply, from.getY() * distanceMultiply, from.getZ() * distanceMultiply); glVertex3d(to.getX() * distanceMultiply, to.getY() * distanceMultiply, to.getZ() * distanceMultiply); glEnd(); GlStateManager.enableTexture2D(); }