i am currently developing 3D Designing software by myself.
it's a simple mesh(or voxel) modeling program, but i want it run with 20~40Milions of polygons at interactive rates.
i've tried poly mesh with 28M verts on my software but it shows less than 3FPS.
in z-brush, it runs at interactive rate(GTX 580, i7-2700k, 16GB)
(couldn't check exact frame rate because FRAPS doesn't works)
then, i've studied zbrush to understand the gap between my project and it.
finally i've found some tricks( like when rotating a model, zbrush displays a model at lower subdiv level )
but those could not explain the gap enough.
i have studied number of current research papers and articles and put some consideration(kind of data structure, rendering technique, GPUs) in my project.
There would be lower level optimization? i mean, lower than generally considered(e.g)direct access to GPU kernel instruction without using DX, or OpenGL? )
am i demanding too much if i want to get some clues about technical aspect of zbrush design?
ZBrush uses a process patented, and developed by Pixologic called Pixols. Pixols are not 2d nor 3d, but 2.5d according to Pixologic. The Pixol stores the x,y,z coordinates, color, material, and orientation of the working object to a given temp memory/save file.
Most editing occurs in a 2d manor, yet when the individual sculpts the x,y,z coordinates or 3d aspects of the image, Zbrush preforms the various calls, and updates the relative Pixol data being sculpted to a temp memory/save file. This reduces processing power by localizing, and updating relevant information versus maintaining a full 3d vextor based object in the systems cache, ram, etc. while modeling.
These are the basic concepts for how Zbrush works, yet another thing to take into account is how Zbrush's editing tools work in relation to the Pixol technology.
I hope this information helps you in some manor.
Here are some links from Pixologic about the Pixol technology.