(sorry for my poor english)
I am trying to make a game like Dungeon Master but in voxel style. I divided my dungeon in 32*32 chunks. Each chunk can contains 12'000 cubes but most of the time no more than 500 cubes.
- When I walk in my dungeon with no frustum test, all is ok. Low framerate (~70fps) but smooth (1024 chunks to draw).
- When I use frustum test I draw ~60 chunks and my frame rate is better (~ 200fps) but no more smooth when I walk...
- I walk to chunk to another chunk. Frame length is about ~5 milliseconds but suddenly one or two frames length will be ~200 milliseconds... and come back to ~5 milliseconds.
I use a big Vertex Array with all data and each chunks have a pointer on the array. I have same problem with VBO. I have ~2'000k triangles well shared between chunks.
I think it's something like that :
- frustum test choices 50 chunks
- opengl : yeah I render that fast
- camera move
- frustum change and choices 45 chunks
- opengl : oups these are not same vertices to draw I have to do something
- opengl : I take 200 milliseconds, but it's ok now, I render fast again.
I hope you understand what I mean. Truly sorry for my english
Any idea ?
Edit : I use lwjgl and an old graphic card : NVidia Quadro FX 580. I will try later on AMD modern card.