ZBrushCentral

thoughts on PTex and vector displacement?

howdy,

so just noticing that these two concepts seem to be reaching critical mass and was wondering what the zbrush community’s take on these techs are.

as evidenced again and again not only in the gallery here but all over the web, ZB’s not exactly suffering for lack of these but they do seem cool.

on the other hand, it’s easy to be dazzled by the latest buzz words and get obsessed with tech that in the end is not that useful so i was just wondering what public thought is.

i wasn’t super enamored with PTex to begin with especially since we have vertex painting. in terms of creation, it didn’t seem to offer tremendous advantages over vertex painting although it is pretty cool that you can just select a quad and arbitrarily increase resolution and that will seamlessly blend to surrounding quads that can all be different resolutions.

we could do that in vertex paint too… just select regions that need more detail and upres. but without something like PTex, for external applications, we’d still need to bake down to an image map and UVs and that would unify the resolution of the texture no matter what you painted on the verts.

also, i think ptex has the ability to stream texture info during render time but not on the traditional, “image map by image map” basis but a more granular PTex block by PTex block basis (based on a quad region i think).

the biggest knock against PTex currently is the lack of renderer support. there’s no point in authoring PTex if your app of choice can’t do anything with the PTex texture files. that would make ptex merely a fun novelty but useless as a production tool.

currently, only renderman supports it is that correct?

as for vector displacements, they do seem sexy but i wonder how well they work and whether one would really encounter that many situations where you need a displacement map to describe undercuts and such.

especially here, there’s a lot of zb work that seems to imply that we’re not missing much.

also, i wonder about the LIMITATIONS of vector displacement. for example, would it be possible to sculpt out a complete character and then create a vector displacement map so that you can just take a subd cube and then project the displacement map on a simple cube’s limit surface and get the character at render time?

jin

I know I’m resurrecting an older thread, but I thought they were good questions and wouldn’t mind knowing the answers too.

Personally, I think PTEX is brilliant. The two things I hate more than anything as an artist is UV’s and retopology. Besides being boring and a trial of patience, they are also huge time wasters. In a company where time = money, this can be big deal. While Zbrush is really good at handling UV’s and has some interesting options of its own, they don’t always translate well when taking your models to other apps. Not only does PTEX eliminate an entire step, it solves some of the issues UV’s can cause when rendering in other apps (seams for example). While poly painting in Zbrush is great, it does have a limitation. I would love to be able to paint high quality textures and not worry about the number of polygons my model has. PTEX solves this too because it is resolution independent. Support for it has been growing fast, and it isn’t just Renderman anymore. Mental Ray supports it provided you download the free shader, and I think V-Ray supports PTEX as well. Since Mudbox already supports PTEX, I suspect it is reasonable to expect all Autodesk programs to have support for PTEX by the end of the year. Who wouldn’t want what PTEX has to offer?

Regarding vector displacement, I see it as being a major game changer. I read in another thread here that there was a game developer already looking at using it, and why not? It has the potential to completely replace all prior forms of making low poly meshes look like they are high poly. Think of it as normal mapping but with the added advantage of being allowed to create overlapping geometry. There are some great videos on YouTube that show what it can do. Imagine not only being able to work with beautiful looking, low poly models with all the speed advantages this would entail, but also the ability to create your own libraries of 3D “alphas”. This would speed up the modelling process greatly. For example, I could create my own library of ears, lips, noses, eyes, and so on, then simply reuse them on future models. Paint the displacement on like we already do using basic alphas in Zbrush, tweak it with the move brush and a few others to get the appropriate look, then move on. Why model the same time consuming things over and over if you don’t have to? This would be a huge advantage for artists working under time constraints.

Of all the things I would like to see added to brush, those two are at the top of my list. The third would be an overhaul of the retopo tools. I’m fascinated by the new auto retopo feature in 3D Coat 3.5 and plan to try out the demo when I find some time. Imagine all the potenial that could be gained should the developers of Zbrush decide to work their own magic towards a similar toolset. I could go on and list a lot of things I’m sure we would all love to see added to ZB in the near future (64 bit anyone?), but the focus of this thread was PTEX and Vector Displacement, so I’ll stop here. I look forward to seeing what other users have to say regarding these features and hope they take some time to post.

Hi,

I’ll start with my early thought on ptex:
I’m currently in a position where I need to decide whether to investigate ptex or deal with UV’s in a project that I must finish in the next 20 days, I see a lot of benefits on it but only regarding the end of the UV’s age. A good topology will be necessary for a good deformation and unless you’re 100% a still image guy, you will need to do a correct topology.

Now on vector displacement, my experience has only been based on a UV mapped character, and I found out that there’s a requirement of subdivisions for it to look fine. You can’t just put a cube with 6 faces and render a full character, you will need to have a relatively similar topology and subdivide it. At the end, it takes almost 5x the time to render a character with vector displacement aswell, and it isn’t even shaded.

For real time, forget about vector displacement this year in my opinion.

Topology with good edge flow will always be important to those doing deformations (ie animation). I’m not quite sure what you’re getting at regarding Ptex though and what you feel it’s drawbacks are in such an instance. Good UV’s are always going to be needed if texture mapping the old fashioned way, especially with displacement maps where the more seams you have, the more visible they become. Ptex doesn’t have this limitation and should always produce seamless renders, whether doing stills or animation. Walt Disney Animation Studios uses Ptex exclusively now, and it’s quality can be seen in several of their movies (Bolt for instance). If Ptex wasn’t good enough for any reason, I highly doubt they would be doing this.

Regarding subdivisions, the same is true for displacement using grayscale maps. It too suffered from teething issues when it first made it’s appearance. None of the renderers at the time could do it justice (artifacting usually), nor were render times very good. The only one that fit the bill on both of those accounts was VRay. I still remember fondly the release of ZBrush 2.0 and the test file Pixolator put up for download, everyone trying to figure out how to get it working right in their particular app. In my case the problem was stair stepping. Anyways quality and performance among the various applications has steadily improved over time and the same will be true for vector displacement (as well as Ptex). It’s still too early in the game to decide whether it’s worthless or not.

As far as low poly goes, I’ve always found this video to be illuminating on the subject of a vector displacement mapping and just how low poly you can go:

http://www.youtube.com/watch?v=wMx-wBwimp8

It’s hard not to be impressed by that. Displacement is probably going to be the key area where Ptex really shines IMHO. With normals maps, grayscale maps, and vector maps all using traditional UV’s, you tend to get visible seams even if you have only one of them. With Ptex, provided it has been implemented correctly, there should never be any visible seams and I’ve seen some great examples that really show off this strength. Plus there is nothing limiting an artist from using both types together.

Real time animation using ATI:
http://developer.amd.com/samples/demos/pages/AMDRadeonHD7900SeriesGraphicsReal-TimeDemos.aspx
http://www.youtube.com/watch?v=EPrCxBOKvQY

Real time animation using Nvidia:
http://developer.nvidia.com/siggraph-2011

Those links show that Ptex and vector displacement are both feasible for real time rendering. From reading the PDF files on the official Ptex and Nvidia sites, my impression is that Ptex provides both game engines and traditional renderers a more efficient means of handling large data-sets. I strongly suspect we’ll see these technologies find there way into future graphics hardware which should make for some truly amazing looking games. Imagine instead of faking detail with normal maps, you could actually add true detail to your game assets at render time, all without having to resort to high poly counts. The future is definitely looking bright for these two technologies.

I’ve been putting together a list of which apps support Ptex and of the 35 applications on my list so far, 23 support Ptex, 5 are unknown because I could find definitive info one way or the other, and 7 don’t support it at all (ZBrush and Sculptris being two of those). Fwiw, the number that do support Ptex is certain to grow this year. Native support in 3ds Max and Softimage for example, given the goal and placement of Mudbox which is one of their products (Maya already has good native support for both VDM’s and Ptex). ZBrush is going to find itself falling behind competitively speaking if Pixologic doesn’t add support by the end of this year.

I’ve also been testing 3D Coat’s implementation with VRay for 3ds Max and the results have been excellent. The only problem is modifiers changing the vertex order (turbosmooth, symmetry, etc) which breaks things. Once native support has been added, and Vlado adds working VDM support to VRay, I’ll be switching permanently for all my bump/displacement needs, maybe even for diffuse maps too. In fact it could really help on my current project where the seam in my normal map is very visible, even though I’ve tried my best to hide it. Some things just can’t be hidden, especially when animating.

I must say that I retract from my past words.

With my first statement I just wanted to point out that you cannot avoid retopology if you are aiming to other but pure illustration.

About vector displacement, rendering times become huge compared to normal displacement.

Apart from that, I’ve been testing ptex displacement and texturing with vray and I must admit that it’s the most impressive thing I’ve seen rendering in my machine.

Results are awesome compared to regular normal mapping + displacement, it looks even better than the sculp behind and the base meshes are ridiculous compare to the huge detail. Now I think I’m capable of achieving a quality I could only dream of before trying it. Mostly because of my lack of knowledge.

Also rendering times are like 80% faster than when I tried vector displacement.

Still, I don’t see this coming to realtime in this generation on 2012. But it’s a game changer for illustration and animation.

Thanks for the enlighting reply Zeddicus.

Just on a side note, I have been informed that PTEX is supported by mental ray 3.10 which will ship with Max and Maya 2013.

The unfortunate news is that there is no GUI for it in Max yet and is still pretty rough in Maya. Hopefully there are people working on it.

Also, it looks like xNormal 4 will have PTEX support so we don’t necessarily need it in ZB to get the results we so desire in our renders. This combined with vector displacement would be revolutionary.

Once again it’s a matter of getting different 3D apps working in harmony (I could never get vdm’s from xNormal to work in mental ray).

In any case, exciting times for 3D! Really looking forward to what happens next :smiley:

I’ve been super disappointed about the lack of Ptex in Max 2013, but things are looking a little bit brighter if Metal Ray finally supports it. If we’re lucky, maybe AD will add in the missing GUI with a service pack. Except I’m not lucky so they probably won’t, not when they can charge everyone for 2014 lol. :slight_smile:

I read the Ptex comment about xNormal last week. I have 3.17.8 installed and now you have me intrigued. Is there a beta for 4.x available somewhere? It sounds like there is based on that last bit of your comment. All I can find are a couple of videos from 2009.

It is something I can see happening with next gen hardware though, or some version of it anyways. I just hope I live long enough to see the results. :smiley:

Unfortunately you are probably right about AD delaying the development of a Ptex GUI in Max and turning this to their own advantage. However there is hope that a 3rd party may have plans. I remember a while back on a MR forum there was a team dedicated to getting Ptex integrated in Max. I signed up for the news letter but have yet to receive an email.

Others must be getting sick of the delays too so maybe someone will step up and write a plugin to get us started (remember how Wayne’s custom vdm shader was the beginning of good things).

Regarding xNormal 4 - I have been told an alpha version will be ready soon. Apart from Ptex, the developers are working on improving vector displacement too. I can almost see things falling together… not holding my breath though! :lol:

I tried to find any post in the forum with an official view on Ptex from Pixologic but was unable to find it.

Did I miss it? Else it would be interesting to share their view at it and if/when they are thinking to incorporate it into ZBrush. It seems that it totally fits in the ‘being more artistically instead of technical’ - not only within ZBrush but also workflow wise, right?

Its funny that one guy integrated ptex into Blender (the source is still available and videos of it on vimeo) in a few days in 2010 yet its like pulling teeth to get it into zbrush years later or any word from devs.

:wink:

hey,

so we have vector displacement now so that’s really cool!

zed, are you talking about parallax mapping? at least that’s the term that i’ve heard used in reference to simulating hires detail on a low poly mesh.

the vector displacement that i was talking about and which zb has implemented now actually requires geometry to displace (like regular displacement mapping) only that it can encode displacement so that you can have shove verts up and down but also describe undercuts and overlaps which traditional displacements could not.

no news on the ptex front (except for a vray demo where the demoer mentioned that both mudbox and zb had support for ptex which i thought may have been a classified slip… [oh and vray supports ptex now so a lot of the big player renderers support it so it’s more useful than ever]) but have heart, pix may take their time but when they roll things out, they really seem to nail it.

jin