Jump to content

Fun And Games With Mantra's Hidden Features

Recommended Posts

in reading this (and having a few minutes to burn), i stumbled upon a few interesting things (interesting sounds neutral enough..). i'm actually writing this down as a reminder to myself, but if anyone wants to chime in with their experience please do so. obviously nearly none of this stuff is useable in serious environments - yet. but it's good to know what's coming up (and hobbyists will have a field day with it).

there are two hidden engines in mantra (making it 8 different engines all in all, which must be some kind of industry record), one called "metropolis" and the other called "irradiance". you can access them by adding the two as new entries to the mantra ROP's "rendering engines" menu.

  • metropolis is an apparently only partial implementation of the MLT (reference) that understands the normal PBR BSDF definitions. it works just like maxwell or fryrender in that it renders samples all over the frame and refines afterwards, so no buckets. this means that while it is rendering, MPlay will not display anything - it updates the frame once rendering is finished. MLT being what it is, this can and will take some time, so when experimenting, turn on statistics to see what's going on. quality can be enhanced using the pixel samples control. there is one measureable advantage of MLT: when you turn up the pixel samples in PBR to reduce noise, memory usage will skyrocket. in MLT, this doesn't seem to be the case, in fact in the tests i've done, it's been very reasonable (for what it does). it also outputs nifty stats when done, telling you how many diffuse, specular and caustic bounces there were and, in percentages, how deep the bounces went.
  • irradiance creates an irradiance cache from the camera view. i *think* this is what is done when you enable the irradiance cache anyway, but this gives you the option to just render the cache file, which you set up using the vm_gifile option. you can also use vm_gifilemode to determine whether mantra should only read from the cache, only overwrite it, or read/write.

now you're wondering what to do with the irradiance cache file, and i'm guessing this: there is another hidden parameter (this feels like a treasure hunt). in the dropdowns for "primary", "secondary" and "caustic gi cache file" (in the PBR tab) you can add a parameter to the menu called "icache" which makes the PBR engine lookup in the irradiance cache instead of the photon cache. nifty.

and have you ever wondered why PBR doesn't calculate specular and caustic bounces? that's because that option isn't exposed either (big surprise here). in the parameter interface of the mantra ROP, add a string parameter and call it vm_pbrpathtype. make it a drop down menu containing four options: "diffuse", "specular", "caustic", and "all". once you select "all", your PBR renders (specially the ones containing lots of shiny stuff or glass) should start to really shine. just remember to also add "vm_colorlimit" and set it to something low and useful for your scene, so that overbright points disappear quicker from your renders (this should reduce render times from decades to mere years).

anyway, happy hunting :)


Edited by anamous
Link to comment
Share on other sites

Just to clarify:

the fact that some property (and its parameter) isn't exposed, doesn't mean it's hidden ;). I know it sounds strange but this is how it is in H9.0. That's why these Mantra rendering properties are listed in Help, and aren't restricted to Houdini's expert mode ( there is such one and it exposes hidden, experimental features for selected users). And thus such goodies like Irradiance Cache files is used by many of us all the time.

You're right though, it's a pity, that we must go through esoteric and minimal documentation to realize all these great features, but they *meant to be used anyway, you must only have a luck to find them ;)



Edited by SYmek
Link to comment
Share on other sites

thanks symek, that's good to know... i guess ;)

maybe you could confirm that this is a valid workflow then:

- mantra ROP set to irradiance, file mode is "write", renders and writes out a file (which is somewhat small but anyway). it also renders a black frame.

- different mantra ROP set to PBR, secondary GI cache set to "icache", file points to the previously created file, mode is set to "read/write".

in theory this should speed up the rendering right? does it make any difference?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...