What I have here is a proof-of-concept renderer in lwjgl with primitive collision detection. I use vertex arrays to represent the blocks, each Block is rendered using static vertex arrays on the Block class, but no instance of Block is actually created. I compile display lists for each WorldChunk, I use frustum culling to decide which chunks to push to render, I use hidden surface removal to cut down on polys. Yet I can't get the performance I am looking for.
Check it out. https://voodoodrul.dyndns.org/CYDI-latest.jar - You will get a cert warning because I have to run over SSL and my cert is self-signed - you can ignore it. The JAR should just run - requires Windows and 64-bit Java
If you go into wireframe and disable display lists and press H - you will toggle hidden surface removal so you can see that it is working. It doesn't seem to offer much benefit, but it does work.
What do you guys think? I knew nothing about OpenGL 2 weeks ago - this is where I am so far.
G disables gravity, up arrow increases movement speed, down arrow decreases
Edited by voodoodrul, 04 July 2012 - 09:08 AM.