1 package com.irtimaled.bbor.client.renderers;
3 import net.minecraft.client.renderer.BufferBuilder;
4 import net.minecraft.client.renderer.Tessellator;
5 import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
6 import net.minecraft.client.renderer.vertex.VertexFormat;
7 import org.lwjgl.opengl.GL11;
11 public class Renderer {
12 static Renderer startLines() {
13 return new Renderer(GL11.GL_LINES, DefaultVertexFormats.POSITION_COLOR);
16 static Renderer startCircle() {
17 return new Renderer(GL11.GL_LINE_LOOP, DefaultVertexFormats.POSITION_COLOR);
20 static Renderer startQuads() {
21 return new Renderer(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
24 static Renderer startPoints() {
25 return new Renderer(GL11.GL_POINTS, DefaultVertexFormats.POSITION_COLOR);
28 public static Renderer startTextured() {
29 return new Renderer(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR);
32 private final Tessellator tessellator;
33 private final BufferBuilder bufferBuilder;
40 private Renderer(int glMode, VertexFormat vertexFormat) {
41 tessellator = Tessellator.getInstance();
42 bufferBuilder = tessellator.getBuffer();
43 bufferBuilder.begin(glMode, vertexFormat);
46 public Renderer setColor(Color color) {
47 return setColor(color.getRed(), color.getGreen(), color.getBlue())
48 .setAlpha(color.getAlpha());
51 public Renderer setColor(int red, int green, int blue) {
58 public Renderer setAlpha(int alpha) {
63 Renderer addPoint(OffsetPoint point) {
64 return addPoint(point.getX(), point.getY(), point.getZ());
67 Renderer addPoint(double x, double y, double z) {
74 public Renderer addPoint(double x, double y, double z, double u, double v) {
82 public void render() {
86 private void pos(double x, double y, double z) {
87 bufferBuilder.pos(x, y, z);
90 private void tex(double u, double v) {
91 bufferBuilder.tex(u, v);
94 private void color() {
95 bufferBuilder.color(red, green, blue, alpha);
99 bufferBuilder.endVertex();