diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2010-01-18 21:18:07 +0100 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2010-01-18 21:18:07 +0100 |
commit | 9cb41d127063297432f768f7cb0f466b76921103 (patch) | |
tree | 02864d0ba3d970c040f95384ac0170d7ecbe4635 /src/de/gamezock/metacraft/ui/Renderer.java | |
parent | 32117d0bf27e0a72165707fe4e56d231136e734b (diff) | |
download | metacraft-9cb41d127063297432f768f7cb0f466b76921103.tar metacraft-9cb41d127063297432f768f7cb0f466b76921103.zip |
Give up tile based maps; maps look much better now
Diffstat (limited to 'src/de/gamezock/metacraft/ui/Renderer.java')
-rw-r--r-- | src/de/gamezock/metacraft/ui/Renderer.java | 37 |
1 files changed, 8 insertions, 29 deletions
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<IndexedTriangle> 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(); } |