PDA

View Full Version : ZBrush 2.0 "Displacement" Map Extraction



Gyzer
04-04-04, 03:54 PM
ok, I'm very confused about this picture on the zbrush web site about the displacement map extraction for Zbrush 2.0.

http://www2.zbrushcentral.com/zbrush/zbrush2/GalleryPages/pixolator5.html

Now, I was talking to a friend of mine about this, and with them keep saying displacement map, it makes no sense to take a high polly high detailed model, extract a displacement map for it then place it on the low polly version, seeing as all it would do is make the low polly now high.

But after looking at this for awhile, I noticed that this is the exact way to do normal mapping, and I'm just wondering if they screwed up with saying displacement map, and should have said normal map, or if they're calling normal mapping displacement mapping in zbrush 2.0.

Can I get some opinions on this?

Thanks

aurick
04-04-04, 04:26 PM
Displacement mapping and normal mapping are similar effects, performed at render time.

The difference is that displacement mapping actually modifies the model's silhouette while normal mapping does not.

Your friend is both right and wrong -- it depends upon the rendering engine involved. There are three different ways that rendering engines do displacements:

:: Point displacements. In this case, the model's points are moved according to the displacement map at render time. This is probably the kind of displacement that your friend is thinking about, since it does require an extremely high polygon count to get any quality of detail.

:: Tesselated displacements. Here you animate a low resolution model, which then gets tesselated at render time to have many, many more points which are then displaced according to the map. This is better than the previous method, but is still limited in quality based upon the amount of RAM that your system has in order to be able to get enough tesselation for the displacements.

:: Sub-pixel displacements. This is the best form of displacement, and doesn't change the model's geometry at all. Instead, it displaces the actual pixels that are being rendered. With this form of displacement, your low-level geometry ends up looking exactly as if it had millions of polygons without any need for ever having the higher geometry.

Also, you can get even better results by combining normal mapping with displacement mapping. This is especially true for the second kind of displacement. In this case you would use displacements to make medium frequency changes to the model (which affect the model's silhouette) and then use normal maps to reproduce high frequency details.

In short: check your rendering engine's documentation to learn what kind of displacements it uses and then adjust your workflow from there.

squeige
04-04-04, 04:26 PM
no the image is correct it is displacement mapping.. why would you wanna get a disp map from a high poly res to apply to a low res surface?
elemental... you have a very light model to animate and work with.. renders very high quality...

ZedHead
04-07-04, 06:51 AM
Hello Aurick,
I found the information you gave on the different types of displacement mapping really insightful. If possible could you tell me what type of deformation Lightwave's render engine supports, in addition to this I think it would be really helpful to all users if you guys could produce a tutorial about using Zbrush generated displacement maps in other 3D programs.
Keep up the Inspirational Work!!

fizzy
05-17-04, 08:53 AM
Aurick, when you say that with sub pixel it doesn't add any geometry at all do mean before rendering? I'm assuming that when you render the render then reverts to the high poly information that it gets from the displacement map?

aurick
05-17-04, 10:13 AM
There are tutorials in the Practical Guide (http://www.pixolator.com/zbc-bin/ultimatebb.cgi?ubb=get_topic&f=1&t=014968) about using displacement maps in other programs. Also, this thread (http://www.pixolator.com/zbc-bin/ultimatebb.cgi?ubb=get_topic&f=1&t=015376) has instructions for many different applications. Just read through it to find the one that you are using.

I can't tell you what type of displacement mapping LightWave uses. You should check your LightWave documentation or their user forums.

SubPixel displacement does not ever change the polygon count of the model (including at render time). It displaces the rendered pixels rather than the points of the model. Think of it as like a bump map, but one that renders the bumps in all directions as opposed to just along the Z axis.

pooverfish
05-19-04, 10:11 PM
<BLOCKQUOTE>quote:</font><HR>SubPixel displacement does not ever change the polygon count of the model (including at render time). It displaces the rendered pixels rather than the points of the model. <HR></BLOCKQUOTE>

Which renderers do it this way? That sounds something like a 2d solution and I would not have thought the results would be useable for anything but the smallest displacements - unless I completely misunderstand your post. In my understanding Reyes style sub-pixel displacement is realised by dividing the surface into sub-pixel sized polygons (micropolygons) at render time, and these micropolygons then simply have their vertices transformed. Mental ray and vray both displace using the same concept, using densely tesselated/subdivided geometry, as do some other renderers AFAIK.

cheers
grant

Zeddicus
05-20-04, 06:54 AM
<BLOCKQUOTE>quote:</font><HR>Mental ray and vray both displace using the same concept, using densely tesselated/subdivided geometry, as do some other renderers AFAIK.<HR></BLOCKQUOTE>
Nope, Vray uses the sub-pixel method as far as I know. That is of course if your using the Vray displacecment modifier like you should be. And if you ask any 3DS Max user who actually knows what they are talking about, they'll probably tell you that Vray does a slightly superior job than the others (faster too). At the moment anyways, that's bound to change over time of course. I know finalRender is getting some changes down the road to it's displacment mapping for example. Regardless, this method still isn't perfect as pointed out by Vlado in the official Vray forums (I copied and pasted his post into the displacement test thread here, regarding the sword).

aurick
05-20-04, 09:55 AM
Renderman renderers also use this technique.

roguenroll
05-20-04, 12:16 PM
>>>seeing as all it would do is make the low polly now high.

no actually, simply, it takes the definition from the high model, makes a relatively small
map of that detail, and when you map onto a low poly object, it makes it take on that detail. But, that low poly, STAYs lowpoly. It will not add any more polies to the low model.

As far as the difference, disp maps are disp maps, and normal maps are normal maps. better explained above.

its great stuff, I'm still blown away