query mantra settings during a procedural

   2049   7   0
User Avatar
Member
9 posts
Joined: Jan. 2011
Offline
Hey everyone!I am try to build a mantra procedural these days.I want to add some mantra properties checks to my procedural ,and I don't know how to query them through “VRAY_Procedural::import()” method.I looked up in the document ,it only mentions how to query cam or object properties using “object:**” or “camera:**” but nothing about the renderer,so could anyone tell me how to get it .
oh~ BTW,there is a example on querying object property in the document like this “object:shadingquality” ,however,the corresponding property is named as “vm_shadingquality” in object parameters list.I'm little confused about the two names. how can i get the right name when using “import” method?
User Avatar
Staff
2085 posts
Joined: July 2005
Offline
yaohao
Hey everyone!I am try to build a mantra procedural these days.I want to add some mantra properties checks to my procedural ,and I don't know how to query them through “VRAY_Procedural::import()” method.I looked up in the document ,it only mentions how to query cam or object properties using “object:**” or “camera:**” but nothing about the renderer,so could anyone tell me how to get it .
oh~ BTW,there is a example on querying object property in the document like this “object:shadingquality” ,however,the corresponding property is named as “vm_shadingquality” in object parameters list.I'm little confused about the two names. how can i get the right name when using “import” method?

Try creating a .ifd file with the lines
ray_show global
ray_show object

Then run:
mantra < show.ifd

These are the mantra settings. The “vm_shadingquality” is the name of the Houdini parameter, which gets mapped by SOHO to the proper mantra setting.
User Avatar
Member
50 posts
Joined: Feb. 2009
Offline
In the Houdini 11 docs on the Mantra Rendering Properties page it would tell you the name of a property in Houdini and what that translates to in the IFD along with the default value. like this:

vm_shadingquality / object:shadingquality = (1)

If the property your looking for was in Houdini 11 you should be able to search this page to find out how to call it.

www.sidefx.com/docs/houdini11.0/props/mantra

Unfortunately in the Houdini 12 and 12.1 docs, this page only shows you the label as it appears on the Mantra ROP, which makes it easier to search for, but is significantly less helpful.
User Avatar
Member
1386 posts
Joined: July 2005
Offline
danBode
Unfortunately in the Houdini 12 and 12.1 docs, this page only shows you the label as it appears on the Mantra ROP, which makes it easier to search for, but is significantly less helpful.

BUG id = 48428, submitted 251 day ago.
User Avatar
Member
9 posts
Joined: Jan. 2011
Offline
mark
yaohao
Hey everyone!I am try to build a mantra procedural these days.I want to add some mantra properties checks to my procedural ,and I don't know how to query them through “VRAY_Procedural::import()” method.I looked up in the document ,it only mentions how to query cam or object properties using “object:**” or “camera:**” but nothing about the renderer,so could anyone tell me how to get it .
oh~ BTW,there is a example on querying object property in the document like this “object:shadingquality” ,however,the corresponding property is named as “vm_shadingquality” in object parameters list.I'm little confused about the two names. how can i get the right name when using “import” method?

Try creating a .ifd file with the lines
ray_show global
ray_show object

Then run:
mantra < show.ifd

These are the mantra settings. The “vm_shadingquality” is the name of the Houdini parameter, which gets mapped by SOHO to the proper mantra setting.


Thanks mark! That is exactly what I want, really helpful! And here comes another problem ,when I compiled my procedural shader and made some test by output some informations to houdini console,I found my procedural get calculated for several times if I have multiple lights in the scene with each of them casts a shadow map shadow.why did this happen?
User Avatar
Staff
2085 posts
Joined: July 2005
Offline
yaohao
Thanks mark! That is exactly what I want, really helpful! And here comes another problem ,when I compiled my procedural shader and made some test by output some informations to houdini console,I found my procedural get calculated for several times if I have multiple lights in the scene with each of them casts a shadow map shadow.why did this happen?

Each shadow map is rendered as a separate frame. You can see this if you inspect the .ifd file. If your procedural is close to one light source, but far from another, it will be rendered with different level of detail for each shadow map (see the getLevelOfDetail [sidefx.com] method
User Avatar
Member
9 posts
Joined: Jan. 2011
Offline
Each shadow map is rendered as a separate frame. You can see this if you inspect the .ifd file. If your procedural is close to one light source, but far from another, it will be rendered with different level of detail for each shadow map (see the getLevelOfDetail [sidefx.com] method

but my procedural is very time consuming and will generate a large quantity of detail , calculate it for each light is really a nightmare,how to avoid this problem,I really need these shadow maps to get soft shadows.
User Avatar
Member
4132 posts
Joined: July 2005
Offline
SYmek
danBode
Unfortunately in the Houdini 12 and 12.1 docs, this page only shows you the label as it appears on the Mantra ROP, which makes it easier to search for, but is significantly less helpful.

BUG id = 48428, submitted 251 day ago.

Quickest way to see all the mappings is-

$HH/soho/python2.6/IFDmantra.py

<snip>
Renderer(“renderer”, “uvobject”, “string”, “vm_uvobject”)
Renderer(“renderer”, “uvattribute”, “string”, “vm_uvattribute”)
Renderer(“renderer”, “objroot”, “string”, “vm_objroot”)
Renderer(“renderer”, “networkqsize”, “int”, “vm_networkqsize”)
Renderer(“renderer”, “octreestyle”, “string”, “vm_octreestyle”)
Renderer(“renderer”, “kdmemfactor”, “float”, “vm_kdmemfactor”)
Renderer(“renderer”, “bboxenablelod”, “bool”, “vm_bboxenablelod”)
Renderer(“renderer”, “shadingfactor”, “float”, “vm_shadingfactor”)
<snip>
if(coffees<2,round(float),float)
  • Quick Links