I was asking this in another thread but it's probably better to make a new one.Why can zbrush handle so many polys compared to other programs? I use to assume it was some strange poly/voxel hybrid but apparently that was only related to the old 2.5d features no one uses. I know it has a software viewport is there anything else that makes it work differently. You have Blender, Maya and Modo trying to add sculpting features but they still choke on anything high poly. I have searched but can't find a clear explanation anywhere.
>>559342Maya, blender, modo and max. Fucking zbrush, how does it work?Zbrush is a proprietary software, people may speculate on how it works but the only 100% way to know is either for the information to become officially available or for someone to reverse engineer it.
ye honestly i don't understand either. some programs like 3dcoat will overheat my old shitty furnace pc rendering a 300k poly sculpt but zbrush will display 30mil just fine without much lag or heat.
>>559342The calculation of the mesh runs on the CPU, not on the GPU. GPU is irrelevant for Zbrush, only used for displaying pixels. That's why i can use Zbrush on my 5 year old laptop and it outperforms 3dCoat on my workstation.
When editing one object is live only on the canvas. Also theres some opengl hack where only edited portions of the mesh get updated.
>>559344>Zbrush is a proprietary software, people may speculate on how it works but the only 100% way to know is either for the information to become officially available or for someone to reverse engineer it.I feel like it must be something simple they probably discovered by accident, zbrush programming was pretty shitty early on, remember how long it took to get a 64bit version. My biggest suspicion is it's the software viewport allowing it. I remember when using lightwave years ago and building multimillion poly spaceships one trick was to disable all openGL and use wireframe and orthographic views which were CPU based.Can you even completely disable openGL in modern modeling programs? I think all the 2d views are now just the 3d model with a wireframe shader. Another thing that makes me think this is what causes it all is I can look at a 100 million poly scene in Modo render preview in real time if you keep lighting and shading nice and simple. Seeing as I could make 2 million polygon spaceships back on 600mhz pentiums with minimal lag yet the same model brings blender and modo to a halt even if you switch to wireframe it makes me think GPU acceleration is responsible.Could it be the overhead of trying to send millions of polygons through the openGL or directX api or simply cpu work to send it to the GPU becomes becomes the bottleneck? I mean if you have a 30 million poly model that takes up 8GB it has to get from the system ram to the GPU somehow? Assuming a 4GB GPU it can't even hold all the data so I assume it is shuffling it between GPU and system ram across PCIe and through the API without direct access to the system ram. Even if you were to close all viewports and try to model using render previews or something there's a possibility it's still trying to feed the GPU the data in the background. Can blender be forced to disable all openGL and fall back to a cpu based rasterizer? I want to test this theory.
>>559347Except updating geometry ona cpu would>>559349If you do that the viewport also becomes software rendered and framebuffer updates would be painfully slow.
>>559347>The calculation of the mesh runs on the CPU, not on the GPU. GPU is irrelevant for Zbrush, only used for displaying pixels. That's why i can use Zbrush on my 5 year old laptop and it outperforms 3dCoat on my workstation.Why isn't using CPU based viewports an option on modern 3d programs? If it eliminates the issues with high poly models you would think it would at least be optional.
>>559350>If you do that the viewport also becomes software rendered and framebuffer updates would be painfully slow.Zbrush is a software based rasterizer isn't it?
>>559342Zbrush still has performance issues. If you have several subtools with high poly counts it slows down. If a project gets too big it crashes when it saves. You cant export really high poly models. I hope the next edition actually takes hardware into consideration as I can pretty much get the same performance on a laptop as I can on a powerfull PC.
>>559347That doesn't answer the question.
>>559342>Why can zbrush handle so many polys compared to other programs?It doesn't, it's an illusion. You're usually not working on the existing vertices but it's like a 2D layer wrapped onto the base model while blender only works on the existing vertices.
>>559351>If it eliminates the issuesIt doesn't, his point about CPU is that it means you don't need a good GPU and thus can potentially use older hardware.As has been speculated in the thread already, it's all the tricks going on under the hood that we don't know about (likely something that approximates the appearance of the entire mesh, but is simplified / optimized for viewing)
>>559342The reason Zbrush can push so many polys is because internally, it works with a unit called Pixol, which is a (patented) 2D Pixel with 3D info such depth, material (colour) etc. So basicall you were half right from the beginning, it is a Voxel based software , just not the way you knew.There was a lot of talk a few years ago of a particule based software that had "unlimited detail" , do any of you guys remember it ? It seems to have died done.Pic Unrelated.
>>560003English is not my first language,so sorry if post came out a little rough.
>>560003That is what I originally thought but from what I could research pixol only applies to inactive tools you drop to the background in 2.5d mode. Which no one really even uses now.
Ok, so I created an array of high polygon spheres in a traditional 3d modeler, then made an array resulting in 900,000 polygons. Trying to deform them all at once in it is impossible. I exported them as an .obj and imported to zbrush and started deforming them with no subdivision inside of zbrush. I deleted the UV maps and exported the deformed spheres and imported again to check it didn't have some way of instancing the spheres some how.Nothing had any impact on zbrush, I can't find anything to suggest it's using some sort of cheat requiring low poly meshes to be subd in zbrush. All I can conclude is, zbrush is either:1. A simple subd polygon program that for whatever reason can handle huge polygon counts. If this is the case why can it handle more than other programs? 2. Zbrush does not use polygons it's converting objects during import/export to something unknown. (This seems unlikely you can still see polygons.)
>>560014proportional editingmove one ball up, others followi do this in blender, you can also use curve modifier to guide the shape with a curve.there are ways
>>560003That shit died so fast, "Unlimited Detail"
>>560015There's no way I can do this in blender, I just attacked it with a variety of zbrush brushes, there's fine details all over them in addition to bending.One thing I do suspect is it is not editing the mesh in 3d. I suspect it might be similar to ptex where it flattens every face into a 2d plane without UV mapping. The brushes then push or pull only along the normal angle. It might be that vertices are only actually moved when the brush stroke is complete. While topological move and snakehook seem to use a 2d plane linked to the viewport rather than normals as a reference.Has anyone reverse engineered the .ztl format?
>>560003>it works with a unit called Pixol, which is a (patented) 2D Pixel with 3D info such depth, material (colour) etc.
>>560018>There's no way I can do this in blenderwhat? this is just from the top of my fucking head.i made a 40 piece dominos and curved them with a modifier to where i want. you WANNA tell ME this dosen't work on your balls.THIS IS JUST FROM THE TOP OF MY HEADyou can also use simple deform in addition, there are so many ways you can do this. WHY ZBRUSH. GIVE ME YOUR FUNNY BALLS ILL DO IT
>>560069I assume they're losing precision when they do this, since most pixels are usually represented/stored through multi-dimensional (or one very large array if fixed size) int arrays and not floating points.
>>560014>2. Zbrush does not use polygons it's converting objects during import/export to something unknown. (This seems unlikely you can still see polygons.)Thjat's closer to the ball.Zbrush isn't 3d, it's 2.5D hence why you can't really fly through the objects you make. It's cool voodoo that's for sure.
>>560853How do you think they are storing the data though? Are they flattening the model like ptex and painting displacement or vector displacement?Other speculation I have seen is it uses polygons but when you draw you are interacting with a 2d zbuffer and somehow it translates it back into geometry at the end of the stroke.
>>560927Not him, but I think that second one makes the most sense this could be evidenced from a couple of things.When you place an object on the canvas no matter how many you place of that object the performance is not at all impacted (pic related)Another is that sometimes as you do a brush stroke you can't see the model change until you rotate or move the viewport, but you can see a some movement and artifacts if you have wire-frame enabled this is a pretty common bug for me.
>>561393After you draw the object it becomes 2D when you draw another.