Page 1 of 1
Render issues with displacement material in 2.7.10
Posted: Fri Sep 14, 2012 4:13 am
by Steve_OH
Greetings. New Maxwell user but long-time Sketchup user. I have been playing with a brick wall material, and am having rendering troubles. When applied to a component, it renders correctly, but if I open the component and apply the material to the individual faces, it goes really wonky (technical term). So it sounds kind of like the problem where the renderer would crash (supposedly fixed in 2.7.10), but in this case it's not a crash but just weird results.
Here is what it looks like applied to the component:
And here it is applied to the faces:
If I apply the material to just some of the faces, the resulting render changes in bizarre and exciting ways...
The material uses displacement for the brick outlines and brick surface texture, and a bump map for the grout. The images above are both FIRE renders, but I get the same results with Plugins -> Maxwell -> Render.
But wait, there's more: If I export the simple component shown here to Studio, the render initiated from Studio works fine. However, if I try it with a significantly more complex component, similarly weird things begin to happen, even when rendering from Studio. Memory consumption doesn't seem to be too bad, even with the more complex scenario (about 600 MB).
-Steve
Re: Render issues with displacement material in 2.7.10
Posted: Fri Sep 14, 2012 4:34 am
by JDHill
Could you please send me (jeremy at nextlimit dotcom, or via dropbox or similar) two example models, set up so that they export/render as your screenshots show? Please be sure to include any MXMs/textures involved, as well. My guess is that you're looking at some problem with scaling vs. displacement inside the engine, but it's hard to say; whatever it is, I'll try to see what's wrong and/or come up with a workaround.
Re: Render issues with displacement material in 2.7.10
Posted: Fri Sep 14, 2012 5:37 pm
by Steve_OH
(I sent an email reply to Jeremy with a link to the requested files.)
-Steve
Re: Render issues with displacement material in 2.7.10
Posted: Fri Sep 14, 2012 7:02 pm
by JDHill
Thanks, I did get the files and they were perfect for testing. It took awhile to figure this out, but the best I can tell, the Adaptive Subdivision mode is simply not being used in the assigned-per-face example. You can confirm this by disabling Adaptive in your MXM, increasing the Subdivision, enabling Adaptive again, and then viewing what happens in the rendering -- clearly, the supposedly-inactive Subdivision value is being used. I do not know if this (Adaptive vs. sub-object materials) is a bug or an obscure limitation, but I'll check into it. As for the behavior being different in Studio, I think it is because in this specific case, you have assigned the same material to all faces; in reading/writing the data for Fire in Studio, it appears that this is producing a mesh which is equivalent to the one exported with the material assigned to the component. You can preserve the behavior from the plugin by explicitly assigning some other material to at least one of the faces in the per-face example; this should allow for reproducing the issue reliably in Studio.
So for the time being, it appears that you will need to forgo the use of Adaptive Subdivision, when you are assigning displacement materials at the sub-object level. I'll just mention also, since you say you are new to Maxwell, that I would generally recommend using Absolute height mode in displacement for real-world materials like brick.
Re: Render issues with displacement material in 2.7.10
Posted: Fri Sep 14, 2012 9:32 pm
by Steve_OH
Thanks for the info. I will try your suggestions and see how it works out.
Regarding the absolute vs. relative thing: I had actually started out using absolute since, as you mention, it seems to make the most sense for something like bricks. But absolute mode seemed to make FIRE unstable and crash-prone, and the rendering weirdnesses were even weirder, so that's why I switched to relative mode.
A related question if I may, since you've seen the material: The reason the textures bitmaps are so large is that I want to cover a large area with the bricks without any trace of repeats (which are even more obvious when the bricks are of noticeably different colors). From an overall performance point of view, does it make more sense to do it like I did, or would it be better to create a "library" of maybe a few dozen individual bricks, and then manually tile them as individual Sketchup components?
Thanks again,
-Steve
Re: Render issues with displacement material in 2.7.10
Posted: Sat Sep 15, 2012 1:20 am
by JDHill
Both in terms of memory/performance, and absolute realism in the finished image, I would tend to opt for real geometry over displacement, provided that it is realistic to do the modeling. I would look to displacement where simulating something unfriendly to modeling, or to add more visual detail to a texture than can be provided by normal mapping, when the camera is close enough to be able to perceive it. So, in this example, I might model the bricks as you suggest, using components, or alternatively, I might create a few "panels" consisting of a single large face which has had individual bricks drawn and extruded. In the end, it all depends on the specific model; if it is too large, physically modeling a great number of bricks, using either of these methods, may burden SketchUp too much for comfort.