Page 1 of 1

Displacement

Posted: Fri Jun 21, 2013 6:36 am
by Asmithey
Displacement option, per layer, for layered materials.

Re: Displacement

Posted: Sat Jun 22, 2013 10:58 am
by seghier
hello; what you mean ? you can add displacement to any layer

Re: Displacement

Posted: Sat Jun 22, 2013 3:29 pm
by Mihai
Yes but only one can be active at a time, which you can choose from the global material properties.

Re: Displacement

Posted: Sun Jun 23, 2013 9:16 am
by Asmithey
Yes. I should have said. Active Displacement for each layer of a multi-layered material. Right now you can only have one active, global displacement, as noted. I have a seven layer material for a golf course. Each layer separated by masks. I want to have displacement for my gravel layer only. As is with this material, the displacement is affecting all the layers
independent of their masks. I am using a tile-able texture for the gravel and is scaled 25 times in the material editor. So I can not add a 50% grey map to it as suggested in another thread. It would be great if the mask for the gravel layer would not only separate the gravel material but cut of the displacement from affecting the other layers as well.

Re: Displacement

Posted: Mon Jun 24, 2013 9:53 am
by itsallgoode9
i agree, this would be super helpful. Is this a technical issue that keeps this from being implemented? From what I remember, Maya can't do this either, so maybe it's a technical hurdle or something.

Re: Displacement

Posted: Mon Jun 24, 2013 10:24 am
by Mihai
Asmithey wrote: So I can not add a 50% grey map to it as suggested in another thread.
I ment that you change the displacement map itself, to have 50% grey where you don't want it to affect the object.

It's a technical hurdle yes, because what you want really is adaptive mesh subdivision depending on where a certain displacement layer maps to a geometry. Besides this one layer adaptive situation, what if you have in one displacement layer a certain setting with a certain subdvision, then another layer with another subdivision? Plus there are certain areas where these overlap? What should the final look be there?

Re: Displacement

Posted: Mon Jun 24, 2013 11:56 am
by itsallgoode9
What about just the ability to adjust opacity and tiling of multiple displacement layers? it would still be applied globally but it would give alot of flexibility being able to do that basic thing in maxwell. There shouldn't be a technical hurdle for that since it's all tesselated the same amount and not masked? it would be more efficient when combining high and low frequency displacement maps compared to adjusting in photoshop.

Re: Displacement

Posted: Mon Jun 24, 2013 12:30 pm
by Mihai
Yes, just need to find a way so it's not too confusing...because you would be taking the settings from just one of the displacement layers, but using the maps from all. What if user has vector displacement on one layer, on the fly in one, and pretesselated in another? If this setting is taken just from one layer, then all have to be switched to the same type, which for vector displacement won't work so well. So this might confuse a user as well.

Re: Displacement

Posted: Tue Jun 25, 2013 6:24 pm
by itsallgoode9
Mihai wrote:Yes, just need to find a way so it's not too confusing...because you would be taking the settings from just one of the displacement layers, but using the maps from all. What if user has vector displacement on one layer, on the fly in one, and pretesselated in another? If this setting is taken just from one layer, then all have to be switched to the same type, which for vector displacement won't work so well. So this might confuse a user as well.
Personally, i think a revamp of the way displacement is added to a material could be revamped a little to work forthis. Displacement could be added as a layer instead of an addition to a BDSF. In that layer folder you could add as many displacment layers as you want and adjust tiling like you would any other texture. regarding the different displacement types, pretesselation vs on the fly, if that's a technical hurdle right now, that's fine, just limit it to an "all or nothing approach"--aka, there's one setting that affects all displacement layers regarding tesselation and displacement type. in my mind that is not confusing at all. A hell of alot less confusing than SSS was when it first came out and that made it in to maxwell. :? Even if it is slightly confusing in its first implementation, the payoff to be able to have multiple displacements tiling at different rates is HUGE.

here's a rough comp i put together of how i think it should work. basically it works just like a normal layer, except it houses only displacements. You'd change the tesselation settings, offset, height and displacement type by clicking on the "displacement layer". Any settings you adjust in this layer are global for all displacment.

Any thoughts on this basic implementation? It seems to stay consistent with the functionality of the maxwell materials, which would make it very straightforward to use. and it seems to stay within the parameters that maxwell already has, or is currently capable of.

Image

Re: Displacement

Posted: Wed Jun 26, 2013 2:42 am
by Mihai
Seems good to me. The slight disadvantage to the current system would be that you can't easily switch between different displacement settings, but I think this is hardly used right now. I think almost nobody sets up 3 different displacement components by duplicating the same BSDF three times, just to be able to quickly switch between settings....

But to clarify a bit more, you are only asking for tiling of different maps here, no blending between their values? Say you have two maps, both show 50% grey, you don't want the areas where they overlap to be interpreted as fully white? Or added, or multiplied etc? Although maybe that wouldn't be so difficult to do, just thought I'd ask :mrgreen:

Re: Displacement

Posted: Wed Jun 26, 2013 3:15 am
by itsallgoode9
in a happy world it would be good to be able to control the opacity of weight displacement map, just like you would now with a BDSF. That way you could easily control how prominent specific displacement layers are.

Example: you have a bottle label with embossed lettering. You would have could layer of displacement for the embossed lettering, one displacement layer for paper wrinkles and glue lines and one displacement layer for very fine details. It would be invaluable to adjust the tiling and prominence of each specific layer while in maxwell.


As far as how they are combined, I'm not sure the correct method by specific name. I guess in photoshop it would be overlay, or softlight? when I'm layering displacement maps in photoshop that seems to be the correct way to combine displacement maps. But yes, in my mind they would blended as well as having opacity controls.

I realized i unintentionally sidetracked this thread a bit. bringing it back, masking would be very useful as well. it seems that basic masking should be able to be implemented as well. A mask slot per disiplacement would be amazing, but even if it's just one mask global mask for all displacements would be veryuseful.

Re: Displacement

Posted: Thu Jun 27, 2013 6:04 am
by eric nixon
masking would be very useful as well. it seems that basic masking should be able to be implemented as well. A mask slot per disiplacement would be amazing, but even if it's just one mask global mask for all displacements would be veryuseful.
This wouldnt really work very well if you think about it... If you have a fairly complex mxm and want to add disp to it, you would need to REPLICATE the mask structure of the mxm within the disp layer. It would be quicker to make a big map in PS with all your disp maps pre-tiled and arranged there, you would also have all of PS's power to edit the map at this stage (and this stage is needed however disp works).

Disp can hog a lot of resources (voxelization time + ram) it should be considered properly in PS, tweaking it in mxed will be a slow process, whereas in PS the combo tiling result (in 2d) will be relatively instant.

I have notice the need for a more procedural type of non-tiling disp effect - perhaps for texturing a rock face - and offsetting different noise maps is the usual way to overcome tiling without using huge maps, but in the case of disp, making a huge map seems like the best way.

Re: Displacement

Posted: Thu Jun 27, 2013 11:48 am
by itsallgoode9
although it would be an amazing bonus to have masking on displacement, that was just a bonus (and a very good one at that). personally i'm just hoping to be able to have more than one displacement map and be able to adjust the tiling on each (even if it's only 2 maps, that's a HUGE step.)

When it comes to the fact that displacement is a resource hog--yes it is. If that's a deciding factor of not adding in the feature, by that logic, SSS should not exist within Maxwell, nor should dispersion, nor should Maxwell exist at all because they're all resource hogs in one way or another. Be it CPU, RAM, or HDD, Maxwell is a hardware intensive program all around.

If it's a technical hurdle or an internal decision to not add this feature in, that's fine, but saying it's a "resource hog" as a reason to not add it in seems very shortsighted, considering the program we're working with. If it's technically possible to do within Maxwell, shouldn't it be left up to the user to decide if they have a system strong enough to handle this rather than just saying "no, because it takes too much time/RAM/HDD/CPU"? As I mentioned before, Maxwell would not even exist if this mentality had been the case.

after saying that, I have a technical question to better help me understand this issue and make sure i'm not harassing you guys about this, since I don't understand the behind the scenes process. At render time--If i have two different 16 bit RGB images put into two different BDSF all tiling at different rates...is that different than (theoretically) having two different 16 bit grayscale displacements maps tiling at different rates? Does maxwell "smoosh" the texture maps into one flat texture before it starts rendering? Is there a difference between "smooshing" two layers of displacement maps into one texture vs two layers of BDSF?

Re: Displacement

Posted: Fri Jun 28, 2013 11:15 am
by Polyxo
I think one had to distinguish between the two main routes in building materials with Maxwell:

The classic method uses tileable generic textures and layers those to achieve the desired effect.
When one builds an .mxm this way one has not seen the final displacement before. Mxed here really is the workbench to initially design
and fine tune a deformation effect. It is clear that the wish to work with different Displacement maps which can get blended together comes up.

The second method is working with stacks of textures which were created in a 3D sculpting and painting application.
Inside this application has already used all sorts of layer blending, multipliers and whatnot to establish the desired deformation effect.
One can not simulate each and every aspects of a material appearance in the accuracy M~R allows for - but controls for deformation are great.
After outputting a stack of textures for a model with unique UV's building an mxm is mostly a re-creation process of something one has already
seen before. While technically possible one will likely not output several Displacement maps for one given UV-set.

If one wanted to fine tune the deformation effect locally one could either go back into the source application and change things here...
Recreation of complex large maps may be slow though. In cases where only subtle changes were neccesary some masking or local contrast editing
would be quicker and more flexible. One would not so much profit from several layers of displacement here.

Re: Displacement

Posted: Fri Jun 28, 2013 11:21 am
by Polyxo
I think a really decent psd support might be a way give a lot more control without too much of coding and GUI on NL- end.
One only needed to teach M~R to reference psds in the way Indesign does - I have no idea whether these options are actually exposed - so what I propose
here might not be possible.

Imagine the following: You had a stack of arbitrarily many channel textures, including displacement created by whatever package.
Tiling textures or tailored for one specific UV set doesn't matter.

Combine these channel textures to just one layered psd - there's simple automatic ways to do this - one can even do this in a way that individual
layers are smart objects which can easily get exchanged by an updated version (from the texturing package of choice).
Several layers of displacement could be blended together with all tools Photoshop offers. If you want to mask something right away, do so and save this mask
as an alpha channel. Create as many alpha channels as neccesary. Save this psd and hook it up as some sort of master texture to M~R.

Now Indesign's way of referencing came into play- here one can place psd's but may choose which layers should be on - one can even use Layer Comps
which gives you access to even arbitrary combinations of layers inside a .psd. Imagine for each M~W channel one could select any layer inside a psd
or even a combination of layers and could also load an arbitrary alpha channel from a list of stored named alpha channels living in a psd.

All resources lived nicely together in one file, updated textures output with Mudbox, Mari or the like could quickly get replaced in the psd (smart objects: replace contents)
Within Photoshop one could go crazy at will after each File Save the changes got immediately visible in Fire - best on another screen obviously.
Again, I have no idea if such was even possible but I liked that such an extension of options came with little or no learning curve for those who
heavily use image editors anyway.