How can Z-Brush handle so many polys?

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Display Modes
  10 October 2004
How can Z-Brush handle so many polys?

Does anyone know why Z-Brush is able to handle so many polys?
__________________ - My Scripting Blog!
  10 October 2004
Wink Simple...

...a good coding !
Is beautiful that please without concept!
Speedy Gallery...
  10 October 2004
Originally Posted by Mikkel Jans: Does anyone know why Z-Brush is able to handle so many polys?

im gonna take a few guesses.

zbrush actually doesnt render full models during tumbling THAT much faster than other apps. where it excels at is editing large models.
one thing that probably speeds it up is the quick and dirty hacks that zbrush has. this lets zbrush refresh much less information on screen during editing of geometry, and speeds things up a lot. multithreading helps a bunch. then theres the hiding features. it seems to me that it actually deletes geometry from the model when you hide. so you can work faster, because there is a lot less information for zbrush to go through when editing. other applications just hide polygons, but never detach them. so even if you use a magnet transform, the geometry that was hidden will still be affected.
zbrush also doesnt have smoothing of normals. when you get into the millions zbrush doesnt have to update as much.

theres a lot more in there, and these are just guesses from seeing how things work.
  10 October 2004
A big part of it also is that only one model is live on your canvas at any one time, while with most other traditional 3d applications, all of the models in your scene are "live".
Artemis is pouncing on your ninjas.
  10 October 2004
Originally Posted by Thomas Mahler: M A G I C !
Not just magic, Elfin magic!

  10 October 2004
Sounds like a good explanation...

What about when you are tumbling the model in 3d?

Originally Posted by WingedOne: A big part of it also is that only one model is live on your canvas at any one time, while with most other traditional 3d applications, all of the models in your scene are "live".
George Krauter

"A nickel ain't worth a dime anymore."-Yogi Berra
  10 October 2004
Smile Some precisions... WingedOne said only one object is "living" at the same time in the canvas
But... you can as the other progs: Move, Scale, Rotate all objects between them in the same time but just that!
It's the Multimarkers Mode!
In this mode you can't modify indidualy the structure of an object, just make an uniform transformation
In this mode they live in the same time

In normal Mode of course you can modify the strucutre of one object of 10 millions polygones!
It's for that there are some modes !
Imagine to manage 100 objects of 10 millions polygones each in the same time
In 5 years maybe
Zbrush is a tricky prog!

Hope this help in your comprehensive research
Is beautiful that please without concept!
Speedy Gallery...

Last edited by Frenchy Pilou : 10 October 2004 at 09:04 AM.
  10 October 2004
I've done a little bit of research on how you can get extremely high-poly models going at interactive speeds.. there are a few things that zbrush has going for it in terms of not supporting features that you have in full-fledged animation programs. They also probably have same nice, tight code.

A poly mesh is just a bunch of points connected together into polygons. So, you've got to store the points, and the connectivity. There's not really a whole lot you can do to save on memory for the points and still be fast other than limit the precision. They do have a highly regular topology, because as I understand it, they use subdivision to generate the high-poly meshes you work on. There's a way in OpenGL to tell the graphics card that a certain part of the model hasn't changed, and keep the data right on the card. The subdivision could be used to cleanly note which parts of the model have been changed and which haven't, and keep as much on the graphics card as possible. It's also nice for level of detail display.

As for how much you can keep on the card, lets say they've got 8,388,608 quads, and they're using a float for each XYZ component, which ends up being 3 bytes. We'll further assume that the connectivity is a somewhat wasteful 4 bytes per quad. That ends up being about 58 MB for that huge mesh, which would fit nicely in the memory of many modern graphics cards - with lots of room for keeping it in separate sections, etc.

They also don't have to keep animation information around for each shape - as far as I could tell, they don't have an API or a generalized DAG for data flow. They have a specialized task, and they do it really well. In CS, there's a saying that you can solve any problem by adding layers of abstraction - except for having too many layers of abstraction.. .
  01 January 2006
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 02:39 PM.

Powered by vBulletin
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.