List of usage examples for org.lwjgl.opengl GL11 glNormal3d
public static native void glNormal3d(@NativeType("GLdouble") double nx, @NativeType("GLdouble") double ny, @NativeType("GLdouble") double nz);
From source file:buildcraftAdditions.client.render.entities.EntityLaserShotRenderer.java
License:GNU General Public License
private void doRender(EntityLaserShot entity, double x, double y, double z, float rotation, float partialTicks) { bindEntityTexture(entity);/*from ww w . j av a 2s. com*/ GL11.glPushMatrix(); float strength = entity.getStrength(); if (strength >= 1) GL11.glColor3f(1, 0, 0); else if (strength > 0.75) GL11.glColor3f(0.75F, 0, 0.25F); else if (strength > 0.6) GL11.glColor3f(0.5F, 0, 0.5F); else if (strength > 0.35) GL11.glColor3f(0.25F, 0, 0.75F); else GL11.glColor3f(0, 0, 1); GL11.glTranslated(x, y, z); GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * partialTicks - 90, 0, 1, 0); GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTicks, 0, 0, 1); Tessellator t = Tessellator.instance; double d1 = 0; double d2 = 0.5; double d3 = 0 / 32D; double d4 = 5 / 32D; double d5 = 0.05625; GL11.glEnable(GL12.GL_RESCALE_NORMAL); float f1 = entity.throwableShake - partialTicks; if (f1 > 0) { float f2 = -MathHelper.sin(f1 * 3) * f1; GL11.glRotatef(f2, 0, 0, 1); } GL11.glRotatef(45, 1, 0, 0); GL11.glScaled(d5, d5, d5); GL11.glTranslatef(-4, 0, 0); for (int i = 0; i < 4; i++) { GL11.glRotatef(90, 1, 0, 0); GL11.glNormal3d(0, 0, d5); t.startDrawingQuads(); t.addVertexWithUV(-8, -2, 0, d1, d3); t.addVertexWithUV(8, -2, 0, d2, d3); t.addVertexWithUV(8, 2, 0, d2, d4); t.addVertexWithUV(-8, 2, 0, d1, d4); t.draw(); } GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPopMatrix(); }
From source file:com.aelitis.azureus.plugins.view3d.ViewTest2.java
License:Open Source License
static void drawTorus(float r, float R, int nsides, int rings) { double ringDelta = 2.0f * (double) Math.PI / rings; double sideDelta = 2.0f * (double) Math.PI / nsides; double theta = 0.0f, cosTheta = 1.0f, sinTheta = 0.0f; for (int i = rings - 1; i >= 0; i--) { double theta1 = theta + ringDelta; double cosTheta1 = (double) Math.cos(theta1); double sinTheta1 = (double) Math.sin(theta1); GL11.glBegin(GL11.GL_QUAD_STRIP); float phi = 0.0f; for (int j = nsides; j >= 0; j--) { phi += sideDelta;//from w w w . ja v a 2s . co m double cosPhi = (double) Math.cos(phi); double sinPhi = (double) Math.sin(phi); double dist = R + r * cosPhi; GL11.glNormal3d(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi); GL11.glVertex3d(cosTheta1 * dist, -sinTheta1 * dist, r * sinPhi); GL11.glNormal3d(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi); GL11.glVertex3d(cosTheta * dist, -sinTheta * dist, r * sinPhi); } GL11.glEnd(); theta = theta1; cosTheta = cosTheta1; sinTheta = sinTheta1; } }
From source file:com.bluepowermod.client.render.RenderHelper.java
License:Open Source License
public static void renderButton(double x, double y, double z, String res, String resSide) { GL11.glPushMatrix();//from w ww . j a va 2 s.co m { GL11.glTranslated(x, y, z); GL11.glPushMatrix(); { GL11.glTranslated(6 / 16D, 2 / 16D, 8 / 16D); Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(resSide)); for (int i = 0; i < 4; i++) { GL11.glTranslated(2 / 16D, 0, 2 / 16D); GL11.glRotated(90, 0, 1, 0); GL11.glTranslated(-2 / 16D, 0, -2 / 16D); GL11.glBegin(GL11.GL_QUADS); { GL11.glNormal3d(1, 0, 0); addVertexWithTexture(0, 0, 0, 0, 0); addVertexWithTexture(0, 1 / 16D, 0, 0, 1); addVertexWithTexture(4 / 16D, 1 / 16D, 0, 1, 1); addVertexWithTexture(4 / 16D, 0, 0, 1, 0); } GL11.glEnd(); } } GL11.glPopMatrix(); GL11.glTranslated(0, 1 / 16D, 0 / 16D); Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(res)); Tessellator t = Tessellator.instance; y = 2 / 16D; t.startDrawingQuads(); t.setNormal(0, 1, 0); { t.addVertexWithUV(0, y, 0, 1, 1); t.addVertexWithUV(0, y, 1, 1, 0); t.addVertexWithUV(1, y, 1, 0, 0); t.addVertexWithUV(1, y, 0, 0, 1); } t.draw(); } GL11.glPopMatrix(); }
From source file:com.bluepowermod.client.render.RenderHelper.java
License:Open Source License
/** * @author amadornes/*from ww w . j av a 2 s . c o m*/ * @param x * @param y * @param z * @param angle */ public static void renderPointer(double x, double y, double z, double angle) { GL11.glPushMatrix(); { GL11.glTranslated(x, y, z); GL11.glTranslated(0.5, 0.5, 0.5); GL11.glRotated(180 + 360 * -angle, 0, 1, 0); GL11.glTranslated(-0.5, -0.5, -0.5); Minecraft.getMinecraft().renderEngine .bindTexture(new ResourceLocation("minecraft:textures/blocks/stone.png")); GL11.glBegin(GL11.GL_QUADS); { GL11.glNormal3d(0, -1, 0); // Bottom addVertexWithTexture(0.5, 0, 2D / 16D, 0.5, 1D / 16D); addVertexWithTexture(0.5 + 1D / 8D, 0, 0.5, 0.5 + 1D / 8D, 0.5); addVertexWithTexture(0.5, 0, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D); addVertexWithTexture(0.5 - 1D / 8D, 0, 0.5, 0.5 - 1D / 8D, 0.5); GL11.glNormal3d(0, 1, 0); // Top addVertexWithTexture(0.5, 1D / 16D, 2D / 16D, 0.5, 1D / 16D); addVertexWithTexture(0.5 - 1D / 8D, 1D / 16D, 0.5, 0.5 - 1D / 8D, 0.5); addVertexWithTexture(0.5, 1D / 16D, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D); addVertexWithTexture(0.5 + 1D / 8D, 1D / 16D, 0.5, 0.5 + 1D / 8D, 0.5); GL11.glNormal3d(1, 0, 0); // Side 1 addVertexWithTexture(0.5, 1D / 16D, 2D / 16D, 0.5, 1D / 16D); addVertexWithTexture(0.5, 0, 2D / 16D, 0.5, 1D / 16D); addVertexWithTexture(0.5 - 1D / 8D, 0, 0.5, 0.5 - 1D / 8D, 0.5); addVertexWithTexture(0.5 - 1D / 8D, 1D / 16D, 0.5, 0.5 - 1D / 8D, 0.5); // Side 2 addVertexWithTexture(0.5 - 1D / 8D, 1D / 16D, 0.5, 0.5 - 1D / 8D, 0.5); addVertexWithTexture(0.5 - 1D / 8D, 0, 0.5, 0.5 - 1D / 8D, 0.5); addVertexWithTexture(0.5, 0, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D); addVertexWithTexture(0.5, 1D / 16D, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D); GL11.glNormal3d(-1, 0, 0); // Side 3 addVertexWithTexture(0.5, 1D / 16D, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D); addVertexWithTexture(0.5, 0, 0.5 + 1D / 8D, 0.5, 0.5 + 1D / 8D); addVertexWithTexture(0.5 + 1D / 8D, 0, 0.5, 0.5 + 1D / 8D, 0.5); addVertexWithTexture(0.5 + 1D / 8D, 1D / 16D, 0.5, 0.5 + 1D / 8D, 0.5); // Side 4 addVertexWithTexture(0.5 + 1D / 8D, 1D / 16D, 0.5, 0.5 + 1D / 8D, 0.5); addVertexWithTexture(0.5 + 1D / 8D, 0, 0.5, 0.5 + 1D / 8D, 0.5); addVertexWithTexture(0.5, 0, 2D / 16D, 0.5, 1D / 16D); addVertexWithTexture(0.5, 1D / 16D, 2D / 16D, 0.5, 1D / 16D); } GL11.glEnd(); } GL11.glPopMatrix(); }
From source file:com.bluepowermod.client.render.RenderHelper.java
License:Open Source License
/** * Draws a colored cube with the size of vector. Every face has a different color This uses OpenGL * * @author Koen Beckers (K4Unl)/* www . j a v a 2s. c o m*/ * @param vector */ public static void drawColoredCube(Vec3dCube vector) { // Top side GL11.glColor3f(1.0F, 0.0F, 0.0F); GL11.glNormal3d(0, 1, 0); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMaxZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMaxZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMinZ()); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMinZ()); // Bottom side GL11.glColor3f(1.0F, 1.0F, 0.0F); GL11.glNormal3d(0, -1, 0); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMaxZ()); addVertex(vector.getMinX(), vector.getMinY(), vector.getMaxZ()); addVertex(vector.getMinX(), vector.getMinY(), vector.getMinZ()); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMinZ()); // Draw west side: GL11.glColor3f(0.0F, 1.0F, 0.0F); GL11.glNormal3d(-1, 0, 0); addVertex(vector.getMinX(), vector.getMinY(), vector.getMaxZ()); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMaxZ()); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMinZ()); addVertex(vector.getMinX(), vector.getMinY(), vector.getMinZ()); // Draw east side: GL11.glColor3f(0.0F, 1.0F, 1.0F); GL11.glNormal3d(1, 0, 0); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMinZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMinZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMaxZ()); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMaxZ()); // Draw north side GL11.glColor3f(0.0F, 0.0F, 1.0F); GL11.glNormal3d(0, 0, -1); addVertex(vector.getMinX(), vector.getMinY(), vector.getMinZ()); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMinZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMinZ()); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMinZ()); // Draw south side GL11.glColor3f(0.0F, 0.0F, 0.0F); GL11.glNormal3d(0, 0, 1); addVertex(vector.getMinX(), vector.getMinY(), vector.getMaxZ()); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMaxZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMaxZ()); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMaxZ()); }
From source file:com.bluepowermod.client.render.RenderHelper.java
License:Open Source License
/** * Draws a colored cube with the size of vector. All faces have the specified color. This uses OpenGL * * @author Koen Beckers (K4Unl) and Amadornes * @param vector//ww w. ja v a2 s .co m * @param color */ public static void drawColoredCube(Vec3dCube vector, double r, double g, double b, double a, boolean... renderFaces) { GL11.glColor4d(r, g, b, a); // Top side if (renderFaces.length < 1 || renderFaces[0]) { GL11.glNormal3d(0, 1, 0); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMaxZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMaxZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMinZ()); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMinZ()); } // Bottom side if (renderFaces.length < 2 || renderFaces[1]) { GL11.glNormal3d(0, -1, 0); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMaxZ()); addVertex(vector.getMinX(), vector.getMinY(), vector.getMaxZ()); addVertex(vector.getMinX(), vector.getMinY(), vector.getMinZ()); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMinZ()); } // Draw west side: if (renderFaces.length < 3 || renderFaces[2]) { GL11.glNormal3d(-1, 0, 0); addVertex(vector.getMinX(), vector.getMinY(), vector.getMaxZ()); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMaxZ()); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMinZ()); addVertex(vector.getMinX(), vector.getMinY(), vector.getMinZ()); } // Draw east side: if (renderFaces.length < 4 || renderFaces[3]) { GL11.glNormal3d(1, 0, 0); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMinZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMinZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMaxZ()); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMaxZ()); } // Draw north side if (renderFaces.length < 5 || renderFaces[4]) { GL11.glNormal3d(0, 0, -1); addVertex(vector.getMinX(), vector.getMinY(), vector.getMinZ()); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMinZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMinZ()); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMinZ()); } // Draw south side if (renderFaces.length < 6 || renderFaces[5]) { GL11.glNormal3d(0, 0, 1); addVertex(vector.getMinX(), vector.getMinY(), vector.getMaxZ()); addVertex(vector.getMaxX(), vector.getMinY(), vector.getMaxZ()); addVertex(vector.getMaxX(), vector.getMaxY(), vector.getMaxZ()); addVertex(vector.getMinX(), vector.getMaxY(), vector.getMaxZ()); } GL11.glColor4d(1, 1, 1, 1); }
From source file:com.bluepowermod.part.gate.ic.IntegratedCircuit.java
License:Open Source License
@Override @SideOnly(Side.CLIENT)// ww w . ja v a 2 s .c o m protected void renderTop(float frame) { renderTop("front", front()); renderTop("left", left()); renderTop("back", back()); renderTop("right", right()); Vec3d loc = new Vec3d(0, 0, 0); RenderHelper rh = RenderHelper.instance; rh.reset(); RenderBlocks rb = RenderBlocks.getInstance(); GL11.glPushMatrix(); { GL11.glTranslated(0, 2 / 16D - 1 / 16D * (1.0 / getCircuitWidth()), 0); GL11.glNormal3d(0, 1, 0); int size = getCircuitWidth(); double textureMaxUV = 0.5 * size; Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation( Refs.MODID + ":textures/blocks/gates/" + getTextureName() + "/checkerboard.png")); GL11.glBegin(GL11.GL_QUADS); { com.bluepowermod.client.render.RenderHelper.addVertexWithTexture(BORDER_WIDTH, 0, BORDER_WIDTH, 0, 0); com.bluepowermod.client.render.RenderHelper.addVertexWithTexture(BORDER_WIDTH, 0, 1 - BORDER_WIDTH, 0, textureMaxUV); com.bluepowermod.client.render.RenderHelper.addVertexWithTexture(1 - BORDER_WIDTH, 0, 1 - BORDER_WIDTH, textureMaxUV, textureMaxUV); com.bluepowermod.client.render.RenderHelper.addVertexWithTexture(1 - BORDER_WIDTH, 0, BORDER_WIDTH, textureMaxUV, 0); } GL11.glEnd(); } GL11.glPopMatrix(); GL11.glPushMatrix(); { GL11.glTranslated(BORDER_WIDTH, 2 / 16D + 0.001D, BORDER_WIDTH); GL11.glScaled((1 - 2 * BORDER_WIDTH) / 1, 1, (1 - 2 * BORDER_WIDTH) / 1); GL11.glScaled(1.0 / getCircuitWidth(), 1.0 / getCircuitWidth(), 1.0 / getCircuitWidth()); GL11.glTranslated(0, -2 / 16D, 0); for (GateBase[] gateArray : gates) { GL11.glPushMatrix(); for (GateBase gate : gateArray) { if (gate != null) { GL11.glPushMatrix(); gate.renderDynamic(loc, frame, 0); GL11.glPopMatrix(); if (!isRenderingItem) { // Static renderer GL11.glPushMatrix(); { Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture); Tessellator.instance.startDrawingQuads(); gate.renderStatic(new Vec3i(gate), rh, rb, 0); Tessellator.instance.draw(); } GL11.glPopMatrix(); } rh.reset(); } GL11.glTranslated(0, 0, 1); } GL11.glPopMatrix(); GL11.glTranslated(1, 0, 0); } } GL11.glPopMatrix(); }
From source file:net.quetzi.bluepower.part.gate.GateBase.java
License:Open Source License
@Override public final void renderDynamic(Vector3 loc, int pass, float frame) { GL11.glPushMatrix();/* ww w . j a v a 2s . co m*/ { super.rotateAndTranslateDynamic(loc, pass, frame); /* Top */ renderTop(frame); Minecraft.getMinecraft().renderEngine .bindTexture(new ResourceLocation(Refs.MODID + ":textures/blocks/gates/bottom.png")); GL11.glBegin(GL11.GL_QUADS); /* Bottom */ GL11.glNormal3d(0, -1, 0); RenderHelper.addVertexWithTexture(0, 0, 0, 0, 0); RenderHelper.addVertexWithTexture(1, 0, 0, 1, 0); RenderHelper.addVertexWithTexture(1, 0, 1, 1, 1); RenderHelper.addVertexWithTexture(0, 0, 1, 0, 1); GL11.glEnd(); Minecraft.getMinecraft().renderEngine .bindTexture(new ResourceLocation(Refs.MODID + ":textures/blocks/gates/side.png")); GL11.glBegin(GL11.GL_QUADS); /* East */ GL11.glNormal3d(1, 0, 0); RenderHelper.addVertexWithTexture(1, 0, 0, 0, 0); RenderHelper.addVertexWithTexture(1, 1D / 8D, 0, 1, 0); RenderHelper.addVertexWithTexture(1, 1D / 8D, 1, 1, 1); RenderHelper.addVertexWithTexture(1, 0, 1, 0, 1); /* West */ GL11.glNormal3d(-1, 0, 0); RenderHelper.addVertexWithTexture(0, 0, 0, 0, 0); RenderHelper.addVertexWithTexture(0, 0, 1, 0, 1); RenderHelper.addVertexWithTexture(0, 1D / 8D, 1, 1, 1); RenderHelper.addVertexWithTexture(0, 1D / 8D, 0, 1, 0); /* North */ GL11.glNormal3d(0, 0, -1); RenderHelper.addVertexWithTexture(0, 0, 0, 0, 0); RenderHelper.addVertexWithTexture(0, 1D / 8D, 0, 1, 0); RenderHelper.addVertexWithTexture(1, 1D / 8D, 0, 1, 1); RenderHelper.addVertexWithTexture(1, 0, 0, 0, 1); /* South */ GL11.glNormal3d(0, 0, 1); RenderHelper.addVertexWithTexture(0, 0, 1, 0, 0); RenderHelper.addVertexWithTexture(1, 0, 1, 0, 1); RenderHelper.addVertexWithTexture(1, 1D / 8D, 1, 1, 1); RenderHelper.addVertexWithTexture(0, 1D / 8D, 1, 1, 0); GL11.glEnd(); } GL11.glPopMatrix(); }
From source file:net.quetzi.bluepower.part.gate.GateBase.java
License:Open Source License
public void renderTopTexture(String texture) { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(texture)); GL11.glBegin(GL11.GL_QUADS);// w w w . j a v a2 s. c om GL11.glNormal3d(0, 1, 0); RenderHelper.addVertexWithTexture(0, 1D / 8D, 0, 0, 0); RenderHelper.addVertexWithTexture(0, 1D / 8D, 1, 0, 1); RenderHelper.addVertexWithTexture(1, 1D / 8D, 1, 1, 1); RenderHelper.addVertexWithTexture(1, 1D / 8D, 0, 1, 0); GL11.glEnd(); }
From source file:net.quetzi.bluepower.part.gate.GateBase.java
License:Open Source License
@Override public final void renderItem(ItemRenderType type, ItemStack item, Object... data) { GL11.glPushMatrix();//from www . j av a 2 s. com { if (type == ItemRenderType.INVENTORY) { GL11.glTranslated(0, 0.5, 0); GL11.glRotated(-12, -1, 0, 1); } /* Top */ renderTop(); Minecraft.getMinecraft().renderEngine .bindTexture(new ResourceLocation(Refs.MODID + ":textures/blocks/gates/bottom.png")); GL11.glBegin(GL11.GL_QUADS); /* Bottom */ GL11.glNormal3d(0, -1, 0); RenderHelper.addVertexWithTexture(0, 0, 0, 0, 0); RenderHelper.addVertexWithTexture(1, 0, 0, 1, 0); RenderHelper.addVertexWithTexture(1, 0, 1, 1, 1); RenderHelper.addVertexWithTexture(0, 0, 1, 0, 1); GL11.glEnd(); Minecraft.getMinecraft().renderEngine .bindTexture(new ResourceLocation(Refs.MODID + ":textures/blocks/gates/side.png")); GL11.glBegin(GL11.GL_QUADS); /* East */ GL11.glNormal3d(1, 0, 0); RenderHelper.addVertexWithTexture(1, 0, 0, 0, 0); RenderHelper.addVertexWithTexture(1, 1D / 8D, 0, 1, 0); RenderHelper.addVertexWithTexture(1, 1D / 8D, 1, 1, 1); RenderHelper.addVertexWithTexture(1, 0, 1, 0, 1); /* West */ GL11.glNormal3d(-1, 0, 0); RenderHelper.addVertexWithTexture(0, 0, 0, 0, 0); RenderHelper.addVertexWithTexture(0, 0, 1, 0, 1); RenderHelper.addVertexWithTexture(0, 1D / 8D, 1, 1, 1); RenderHelper.addVertexWithTexture(0, 1D / 8D, 0, 1, 0); /* North */ GL11.glNormal3d(0, 0, -1); RenderHelper.addVertexWithTexture(0, 0, 0, 0, 0); RenderHelper.addVertexWithTexture(0, 1D / 8D, 0, 1, 0); RenderHelper.addVertexWithTexture(1, 1D / 8D, 0, 1, 1); RenderHelper.addVertexWithTexture(1, 0, 0, 0, 1); /* South */ GL11.glNormal3d(0, 0, 1); RenderHelper.addVertexWithTexture(0, 0, 1, 0, 0); RenderHelper.addVertexWithTexture(1, 0, 1, 0, 1); RenderHelper.addVertexWithTexture(1, 1D / 8D, 1, 1, 1); RenderHelper.addVertexWithTexture(0, 1D / 8D, 1, 1, 0); GL11.glEnd(); } GL11.glPopMatrix(); }