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?
query mantra settings during a procedural
3889 7 0- yaohao
- Member
- 12 posts
- Joined: 1月 2011
- Offline
- mark
- スタッフ
- 2641 posts
- Joined: 7月 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.
- danBode
- Member
- 50 posts
- Joined: 2月 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.
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.
- symek
- Member
- 1390 posts
- Joined: 7月 2005
- Offline
- yaohao
- Member
- 12 posts
- Joined: 1月 2011
- Offline
markyaohao
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?
- mark
- スタッフ
- 2641 posts
- Joined: 7月 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
- yaohao
- Member
- 12 posts
- Joined: 1月 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.
- wolfwood
- Member
- 4271 posts
- Joined: 7月 2005
- Offline
SYmekdanBode
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