hi im creating a 256x256x256 cube made up of smaller cubes. im going to implement an indexing system using the oct-tree approach but so far i cant get my graphics system to output a cube that large. i was wondering if i should use display lists to cut down on the output or a mirror method so my system speeds up and actually displays it? i need to implement something that will still allow me to index the cells inside the cube. any help plz?
256256256 cubes means at least 192.000.000 triangles, if you try to store that in memory we are talking at least 2GB or so… do you have room for that.
If you calculate all vertices on the fly you might get away with it, but it will not be fast.
I would not try to store it in a display list.
well is there a mirror method i can use to reduce the amount of cells i view to do the same?
ok so i want to use a mirror method to reduce the amount i am displaying to the screen. any ideas? if u need code let me know and ill post it
Sure. Assuming your cube-of-cubes is “solid” (i.e. there are no gaps in the sub-cubes) you could, for example, create a display list containing a block of 888=512 cubes and call it 32768 times with different translations in the modelview matrix. You’ll probably need to experiment to find the best tradeoff between dlist size and batch count. (You could also compile “lines” or “planes” of cubes, but they might not frustum-cull as well as blocks.)