I'm making a Minecraft-ish terrain engine to learn some OpenGL and 3D and everything works fine except for the FPS which I'm not happy with.
The current: I'm currently only drawing the visible faces and using frustum culling, the cubes are in 16 by 16 by 32 cube chunks (for now).
I use 6 display lists per chunk, one for each side (left, right, front, back, up, down) so cubes aren't drawn one by one, but a whole chunk side at the time.
With this method I get about 20-100fps which isn't great. Profiling says I send about 100k vertices to the graphics card and as soon as I look at the sky and the vertices fall under 10k I'm up to 200+fps, so I guess that's my bottleneck.
What I want to do: Since less is more I went ahead and found this: http://ogre3d.org/forums/viewtopic.php?f=2&t=60381&p=405688#p404631
From what I understand Kojack uses a 3D mesh of huge planes and somehow draws textures from a 2D texture atlas to certain locations of these huge planes. He says he uses a 256x256x256 3D texture and the green and blue channels to map to the 2D texture atlas.
His method totals a constant number of vertices for the planes and sometimes useless ones if my map would've been applied, but it's still less than what I have now.
My problem: I didn't understand anything he said :(, I want to try his method, but I don't understand what he did exactly, mostly I think it's my lack of experience with 3D textures (I'm imagining a block of pixels). How did he map a texture from a texture atlas to only a part of a plane and this by using some 3D texture map...
Can anyone explain what Kojack did or point me to some helpful place, even Google isn't of any help right now.