From 9cb41d127063297432f768f7cb0f466b76921103 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 18 Jan 2010 21:18:07 +0100 Subject: Give up tile based maps; maps look much better now --- src/de/gamezock/metacraft/ui/Renderer.java | 37 +++++++----------------------- 1 file changed, 8 insertions(+), 29 deletions(-) (limited to 'src/de/gamezock/metacraft/ui/Renderer.java') diff --git a/src/de/gamezock/metacraft/ui/Renderer.java b/src/de/gamezock/metacraft/ui/Renderer.java index 6d8d04a..8d4b8d2 100644 --- a/src/de/gamezock/metacraft/ui/Renderer.java +++ b/src/de/gamezock/metacraft/ui/Renderer.java @@ -1,14 +1,11 @@ package de.gamezock.metacraft.ui; import java.nio.IntBuffer; -import java.util.List; import javax.media.opengl.GL; import javax.media.opengl.GL2; -import de.gamezock.metacraft.data.IndexedTriangle; import de.gamezock.metacraft.data.Map; -import de.gamezock.metacraft.data.Tile; import de.gamezock.metacraft.data.VertexBuffer; public class Renderer { @@ -18,22 +15,6 @@ public class Renderer { this.main = main; } - private void renderTile(GL2 gl, Tile tile) { - List triangles = tile.getData().getTriangles(); - - if(triangles.isEmpty()) - return; - - VertexBuffer buffer = triangles.get(0).getBuffer(); - - gl.glInterleavedArrays(GL2.GL_N3F_V3F, 0, buffer.getBuffer().clear()); - - IntBuffer indexBuffer = tile.getData().getIndexBuffer(); - indexBuffer.clear(); - - gl.glDrawElements(GL.GL_TRIANGLES, indexBuffer.capacity(), GL2.GL_UNSIGNED_INT, indexBuffer); - } - public void render(GL2 gl) { gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); @@ -48,16 +29,14 @@ public class Renderer { gl.glColor3f(1, 1, 1); - for(int x = 0; x < currentMap.getWidth(); ++x) { - for(int y = 0; y < currentMap.getHeight(); ++y) { - gl.glPushMatrix(); - - gl.glTranslatef(currentMap.getTileSize()*x, currentMap.getTileSize()*y, currentMap.getTileHeight(x, y)); - renderTile(gl, currentMap.getTile(x, y)); - - gl.glPopMatrix(); - } - } + VertexBuffer buffer = currentMap.getVertexBuffer(); + + gl.glInterleavedArrays(GL2.GL_N3F_V3F, 0, buffer.getBuffer().clear()); + + IntBuffer indexBuffer = currentMap.getIndexBuffer(); + indexBuffer.clear(); + + gl.glDrawElements(GL.GL_TRIANGLES, indexBuffer.capacity(), GL2.GL_UNSIGNED_INT, indexBuffer); gl.glPopMatrix(); } -- cgit v1.2.3