Jump to content


Notice about Feature Requests & Bug Reports

The bug reporting and feature request forums (except for the Urgent Help section) are going away soon! Please use Mantis to report any bugs and feature requests. the link to Mantis is:
3d-coat.com/mantis/

Read more about it HERE.

Photo

Vector displacement


  • Please log in to reply
66 replies to this topic

#21 rimasson

rimasson

    Novice

  • Member
  • PipPip
  • 420 posts
  • Gender:Male
  • Location:France
  • Interests:CG, photo, art, music, book, and movies.

Posted 06 May 2008 - 08:53 PM

Fantastic :=)

I did a quick test
I exported a vector displacement map from Modo in Exr Format, then converted it in float Tif format, imported this map in 3d Coat.
It worked fine.

There are currently 2 issues :
Modo can't create or read float tif format, that's why i had to convert it back and forth to .exr format.
3D coat dosen't handle vector displacement sculpting yet. that's why the display between the 2 apps is different.

Actually, when you want to sculpt a model in Modo, you'll have to create first (or load) a file that set the sculpting mode :
a greyscale 16 bit map to sculpt in Normal mode, or a floating point map to sculpt in vector mode. There are more file format, like 8 bits or 16 bits vector pics, but they are clamped, stepped....

Only Modo actually export vector displacement maps.
Modo, Zbrush and Xsi use maps that centered at 0.5 0.5 0.5, but Mudbox use floating point maps centered at 0 0 0 (They are harder to touch up, without changing the luminance, or the gamma value, if anyone konws a tip... he's welcome)

More tests to come in the next few days.

Attached Thumbnails

  • vector.jpg

Win XP 64 Pro
Inter Core 2 Duo , 6420, 2.13 Ghz
3.25 Go ram
Quadro Fx 1500

#22 Ztreem

Ztreem

    Neophyte

  • Member
  • Pip
  • 97 posts
  • Gender:Male
  • Location:Sweden

Posted 06 May 2008 - 09:21 PM

It's hard to see the benfit of exporting vector displacement when we can't sculpt in vector displacement mode yet. I'm sure Andrew will fix this soon enough though.

#23 yukon_28

yukon_28

    Novice

  • New User
  • PipPip
  • 152 posts

Posted 06 May 2008 - 11:44 PM

Andrew, as rimasson noted there is formats problem. It would be great if you can implement EXR into 3db, it is an open and well documented format afaik, developed by ILM.

Edit:
I followed rimasson's comment & converted modo's output into floating point tif and imported it into 3dc, i also got strange results, its noway match modo's viewport.

#24 yukon_28

yukon_28

    Novice

  • New User
  • PipPip
  • 152 posts

Posted 06 May 2008 - 11:49 PM

Plugin for using vector displacement in XSI (quote from modo forums):

I wrote an XSI addon which will generate and render vector displacement maps in XSI ( you can download it here: http://www.shaders.moederogall.com toward the bottom of the page ). The rendering part of it mainly just exposes the vector displacement capability which is already in Mental Ray. The addon also accepts a tangent property lookup input because you're generally going to want to use a tangent space vector map so you can deform your object and still have the displacement work correctly ( it's completely analogous to tangent space normal maps).

Modo's vector displacement maps are centered at 0.5, 0.5, 0.5 by default. This would need to be shifted to 0,0,0 which is what I used. Also there would probably need to be a scaling factor included. This could all be done in the XSI rendertree. Where it gets even more complicated though, is the fact that there are a number of ways to define tangent space. This really isn't standardized. If Luxology wants to say what tangent space method they are using, I'd be happy to try to code an XSI shader to make it render correctly.

Ben



#25 SonK

SonK

    Novice

  • Member
  • PipPip
  • 464 posts
  • Gender:Male
  • Location:California
  • Interests:3DCG!, video games.

Posted 07 May 2008 - 01:44 AM

There are currently 2 issues :
Modo can't create or read float tif format, that's why i had to convert it back and forth to .exr format.
3D coat dosen't handle vector displacement sculpting yet. that's why the display between the 2 apps is different.

More tests to come in the next few days.


actually, by default when your painting "depth" that is vector displacement. 3DC and Modo are alot alike. Both have mesh base sculpting and vector displacement sculpting. 3DC just lacks the sculpting tools only accessible in mesh base sculpting aka "sculpt mode" in its vector displacement mode. Native support for OpenEXR in 3DC would be the answer.


Andrew, as rimasson noted there is formats problem. It would be great if you can implement EXR into 3db, it is an open and well documented format afaik, developed by ILM.

Edit:
I followed rimasson's comment & converted modo's output into floating point tif and imported it into 3dc, i also got strange results, its noway match modo's viewport.



ic, well Andrew should just implement OpenEXR into 3DC then, it would make it easier to exchange vector displacement files between LW/Modo/3DC.

http://www.openexr.com/
Freelance Character Artist

#26 Andrew Shpagin

Andrew Shpagin

    3DC creator & admin

  • 3D-Coat Developer
  • PipPipPipPipPipPip
  • 6,586 posts

  • Gender:Male

Posted 07 May 2008 - 02:09 PM

I have made EXR support, but I need some testing. How can I apply displacement in Modo? Can someone explain it step by step? I use sphere as a sample.

#27 Ztreem

Ztreem

    Neophyte

  • Member
  • Pip
  • 97 posts
  • Gender:Male
  • Location:Sweden

Posted 07 May 2008 - 02:34 PM

actually, by default when your painting "depth" that is vector displacement. 3DC and Modo are alot alike. Both have mesh base sculpting and vector displacement sculpting. 3DC just lacks the sculpting tools only accessible in mesh base sculpting aka "sculpt mode" in its vector displacement mode.


That's not true. Vector displacement makes it possible to sculpt in 3D not only in normal direction. What you refer as vector displacement is normal map displacement or what you now should call it. It's a trick to make it possible to paint displacement on a higher reolution than possible to show. Zbrush does this as well with its pixols technology, people like to think they are sculptinig billions of polygons in realtime, but they're not, because it's not possible with raw computer power. They all use tricks to make it look like you're sculpting at very hires. Zbrush has solved it the best then mudbox comes after that. 3DCoat and modo does this with normal maps and does a nice job, but not in the same league as Zbrush and Mudbox.
The cool thing though is that Zbrush doesn't have vector displacement yet only modo does.

#28 Andrew Shpagin

Andrew Shpagin

    3DC creator & admin

  • 3D-Coat Developer
  • PipPipPipPipPipPip
  • 6,586 posts

  • Gender:Male

Posted 07 May 2008 - 02:47 PM

There is absolutely no problem to make vector painting on pixel level. But pixel displacement is usulayy snall enough. I can make something like that:

- select displacement direction during painting - X,Y,Z,normal,ScreenSpace,something else and all painting will me performed in given direction. If you need it, I can make.

Just now vector displacement is most applicable to get correct result from sculpting, because normal displacement is not enough to describe it.
btw, thanks for advice about subpatches, now I can apply displacement. But it seems that vector displacement is very strange in LW because I can't change scale of effect ( I use DP_Kit->Displacement->Vector Map) How Vector displacement can be used in LW correctly?

#29 Ztreem

Ztreem

    Neophyte

  • Member
  • Pip
  • 97 posts
  • Gender:Male
  • Location:Sweden

Posted 07 May 2008 - 03:04 PM

There is absolutely no problem to make vector painting on pixel level. But pixel displacement is usulayy snall enough. I can make something like that:

- select displacement direction during painting - X,Y,Z,normal,ScreenSpace,something else and all painting will me performed in given direction. It is absilutely easy. If you need it, I can make.

Just now vector displacement is most applicable to get correct result from sculpting, because normal displacement is not enough to describe it.
btw, thanks for advice about subpatches, now I can apply displacement. But it seems that vector displacement is very strange in LW because I can't change scale of effect ( I use DP_Kit->Displacement->Vector Map) How Vector displacement can be used in LW correctly?


Sound great if we could sculpt in more directions then normal, thats what I thought was the benefit with vectordisplacement. That you could sculpt a mushroom with undercuts and save that out as a texturemap.

I have not used the vectormap node my self yet, but it has a scale option, that doesn't work? maybe you can add a math-vector node to change the scale. I did a screen shot, I hope it helps.

Attached Thumbnails

  • vectomap.jpg


#30 Andrew Shpagin

Andrew Shpagin

    3DC creator & admin

  • 3D-Coat Developer
  • PipPipPipPipPipPip
  • 6,586 posts

  • Gender:Male

Posted 07 May 2008 - 03:38 PM

Thanks! Now it works.

Rimasson, can you send me the exr for plane that you have shown?

#31 SonK

SonK

    Novice

  • Member
  • PipPip
  • 464 posts
  • Gender:Male
  • Location:California
  • Interests:3DCG!, video games.

Posted 07 May 2008 - 05:39 PM

That's not true. Vector displacement makes it possible to sculpt in 3D not only in normal direction. What you refer as vector displacement is normal map displacement or what you now should call it. It's a trick to make it possible to paint displacement on a higher reolution than possible to show. Zbrush does this as well with its pixols technology, people like to think they are sculptinig billions of polygons in realtime, but they're not, because it's not possible with raw computer power. They all use tricks to make it look like you're sculpting at very hires. Zbrush has solved it the best then mudbox comes after that. 3DCoat and modo does this with normal maps and does a nice job, but not in the same league as Zbrush and Mudbox.
The cool thing though is that Zbrush doesn't have vector displacement yet only modo does.


3DC does do vector displacement internally, according to Andrew(maybe i misunderstood his english?). :rolleyes: Vector displacement is just having the ability to use a image base sculpt and being able to sculpting XYZ axis, instead of just along the normal direction as in Zbrush and Mudbox. Whether it's pushes ten thousand polygons or 10 million is not relevant. Beside, neither Zbrush or Mudbox can output a vector displacement map as far as i know. They can however output a normal grey scale displacement map. ;)

normal displacement = (Mudbox,Zbrush) grey scale TIFF (pushing along the normals)
vector displacement = Modo - EXR (pushing in any direction(XYZ)).

Andrew, i'll make a video for you about Modo.
Freelance Character Artist

#32 Ztreem

Ztreem

    Neophyte

  • Member
  • Pip
  • 97 posts
  • Gender:Male
  • Location:Sweden

Posted 07 May 2008 - 05:50 PM

3DC does do vector displacement internally, according to Andrew(maybe i misunderstood his english?). :rolleyes: Vector displacement is just having the ability to use a image base sculpt and being able to sculpting XYZ axis, instead of just along the normal direction as in Zbrush and Mudbox. Whether it's pushes ten thousand polygons or 10 million is not relevant.

normal displacement = grey scale (Mudbox,Zbrush) TIFF (pushing along the normals)
vector displacement = Modo - EXR (pushing in any direction(XYZ).


Ok, if it does it internally, but you can't utilize it when sculpting. You maybe know more about this then I do, but I've seen no proof of vector displacement when I done my sculpts in 3DCoat.

#33 SonK

SonK

    Novice

  • Member
  • PipPip
  • 464 posts
  • Gender:Male
  • Location:California
  • Interests:3DCG!, video games.

Posted 07 May 2008 - 05:58 PM

Ok, if it does it internally, but you can't utilize it when sculpting. You maybe know more about this then I do, but I've seen no proof of vector displacement when I done my sculpts in 3DCoat.



that's true as far as 3DC is concern because i can not create a over hang type sculpt, so maybe its not exposed to the user yet..which would explain the lack of more sculpting tools in the normal paint mode. In Modo however i can do crazy over hangs, so it definitely pushing in XZY via vector displacement.

heh..let save that for 2.10 feature request....Andrew is being over worked and under paid.
Freelance Character Artist

#34 Ztreem

Ztreem

    Neophyte

  • Member
  • Pip
  • 97 posts
  • Gender:Male
  • Location:Sweden

Posted 07 May 2008 - 06:21 PM

that's true as far as 3DC is concern because i can not create a over hang type sculpt, so maybe its not exposed to the user yet..which would explain the lack of more sculpting tools in the normal paint mode. In Modo however i can do crazy over hangs, so it definitely pushing in XZY via vector displacement.

heh..let save that for 2.10 feature request....Andrew is being over worked and under paid.


That's exactly what I was refering to, no vector displacement for the end user, but I'm sure Andrew fixes this fast enough. yeah, 2.10 sounds good. :)

#35 Andrew Shpagin

Andrew Shpagin

    3DC creator & admin

  • 3D-Coat Developer
  • PipPipPipPipPipPip
  • 6,586 posts

  • Gender:Male

Posted 07 May 2008 - 06:21 PM

There is the link to 3DC with EXR support and possibility to export/import world space vector displacement.

http://www.3d-coat.c...t-209B3B-en.exe

World space displacement works well in LW, tangent space is not perfect

#36 SonK

SonK

    Novice

  • Member
  • PipPip
  • 464 posts
  • Gender:Male
  • Location:California
  • Interests:3DCG!, video games.

Posted 07 May 2008 - 06:54 PM

I have made EXR support, but I need some testing. How can I apply displacement in Modo? Can someone explain it step by step? I use sphere as a sample.



I made a quick video showing you how to apply a vector displacement in Modo:

http://www.sendspace.com/file/gt4syi

but i think there is a bug with Modo vector displacement, upon import the strength is weaken..:(
Freelance Character Artist

#37 rimasson

rimasson

    Novice

  • Member
  • PipPip
  • 420 posts
  • Gender:Male
  • Location:France
  • Interests:CG, photo, art, music, book, and movies.

Posted 07 May 2008 - 08:53 PM

but i think there is a bug with Modo vector displacement, upon import the strength is weaken..:(


Yep, but you can change low and high values :)
Win XP 64 Pro
Inter Core 2 Duo , 6420, 2.13 Ghz
3.25 Go ram
Quadro Fx 1500

#38 yukon_28

yukon_28

    Novice

  • New User
  • PipPip
  • 152 posts

Posted 07 May 2008 - 10:59 PM

SonK & others, now i am not as sure if understand everything right, so please correct me if i wrong:

What i though, is that displacement works like this:

Displacement and bump maps works by taking amount of displacement from grayscale map's pixel and pushing\pulling vertex along its normal. The difference is that displacement maps doing it by truly displace geometry, while bump faking rendering engine (and it is the reason why bump maps costs virtually nothing compared to displacement).

Normal maps, instead of pushing and pulling vertex along its normal using real XYZ coordinates. Like bump maps, normal maps faking renderer and not displace geometry in reality (that why its called "normal bump" in some applications, max for example). It captures all needed details, but the problem is that because of "fake" nature of those maps you cant use them for larger details, as it will have to change mesh silhouette, and it is not possible without displacing geometry. There is some workarounds to silhouette issue, like relief mapping, but its expansive for rendering, nearly as real displacement maps.

Then, newcomer, vector displacement doing the same thing as normal map, but instead of faking renderer it really displace geometry, with the ability to create overhangs, thats why if we are not taking render times into account vector displacement it is an ultimate solution for capturing details from super hi-res meshes and transfering them to low or midpoly meshes.

Where i am wrong?

#39 digman

digman

    Expert

  • Contributor
  • PipPipPipPipPip
  • 2,697 posts
  • Gender:Male
  • Location:Texas, USA

Posted 08 May 2008 - 01:33 AM

The lastest beta from this forum thread crashes on opening the program on my system. Andrew has my system stats from the bug reports I sent him.

Attached Thumbnails

  • crash.jpg


#40 SonK

SonK

    Novice

  • Member
  • PipPip
  • 464 posts
  • Gender:Male
  • Location:California
  • Interests:3DCG!, video games.

Posted 08 May 2008 - 04:39 AM

Yep, but you can change low and high values :)


aa yes, the LXO file doesn't save the low value. i'll report it as a bug. Andrew, you can set the low value to -100 and high value to 100:

Posted Image

digman, i had a odd crash also..just painted with spec,color,depth on the default sphere, crash! BTW is it just me or i don't see a .EXR import option in the latest beta?


SonK & others, now i am not as sure if understand everything right, so please correct me if i wrong:

What i though, is that displacement works like this:

Displacement and bump maps works by taking amount of displacement from grayscale map's pixel and pushing\pulling vertex along its normal. The difference is that displacement maps doing it by truly displace geometry, while bump faking rendering engine (and it is the reason why bump maps costs virtually nothing compared to displacement).

Normal maps, instead of pushing and pulling vertex along its normal using real XYZ coordinates. Like bump maps, normal maps faking renderer and not displace geometry in reality (that why its called "normal bump" in some applications, max for example). It captures all needed details, but the problem is that because of "fake" nature of those maps you cant use them for larger details, as it will have to change mesh silhouette, and it is not possible without displacing geometry. There is some workarounds to silhouette issue, like relief mapping, but its expansive for rendering, nearly as real displacement maps.

Then, newcomer, vector displacement doing the same thing as normal map, but instead of faking renderer it really displace geometry, with the ability to create overhangs, thats why if we are not taking render times into account vector displacement it is an ultimate solution for capturing details from super hi-res meshes and transfering them to low or midpoly meshes.

Where i am wrong?


Sound right to me
Freelance Character Artist




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users