Properties Mantra 9.0 rendering properties
Overview
These properties control rendering in mantra. They are in the mantra9.0 folder in the list of properties available under the For rendering tab of the Edit parameter interface window. Select a node, and in the parameter editor click the
Gear menu and choose Edit rendering properties to add or remove properties to a render driver, camera, object, shader, or properties node.
Note that all command line options to mantra (except -H and -P) now have property equivalents, so you can add them to the driver node instead of specifying them on the command line.
Properties
Global Properties
-
0– No VEX profiling. -
1– Performance analysis of VEX execution. -
2– Performance analysis of VEX execution with NAN detection. -
micropoly– Micropolygon scanline rendering (default). -
raytrace– All rendering will be performed using ray-tracing. -
pbrmicropoly– Physically Based Rendering using micro-polygon scanline rendering -
pbrraytrace– Physically Based Rendering using ray-tracing only. -
photon– Photon map generation. -
viewpohoton– View dependent photon map generation. -
irradiance– Irradiance cache creation (partially implemented). -
metropolis– Physically Based Rendering using metropolis integration (partially implemented). -
2D
.ratfile caching -
3D point cloud caching
-
3D volume caching
-
tile:ncomplete– The number of tiles which have been completed. -
tile:ntiles– The total number of tiles in the image. -
tile:laptime– The number of seconds taken to render the last tile. -
tile:totaltime– The total number of seconds to render since the render began. This does not include time to load the scene, but rather is defined as the time since the first tile began rendering. -
tile:coords– The tile bounding box (in pixels). -
tile:memory– The amount of RAM in use by mantra. -
diffuse– Only diffuse paths are traced. -
specular– Diffuse & specular paths are traced. -
caustic– Diffuse, specular and caustic paths are traced. -
all– All paths are traced. -
null– No depth of field. -
box– Box shaped depth of field. -
radial– Radial shaped depth of field.
| Houdini name | vm_objroot |
| IFD name | renderer:objroot |
| Default | ("/obj/") |
This is set to the “root” of the object tree. In Houdini, this is typically /obj. If object names are specified using relative paths (i.e. “light1” or “subnet1/light1”), this is used to determine the full path. This will be deprecated in the future in favor of category selection.
| Houdini name | vm_uvobject |
| IFD name | renderer:uvobject |
| Default | ("") |
Mantra is able to render an object in UV space rather than 3D space. Only one object may be rendered in UV space. This is the name of the object.
| Houdini name | vm_uvattribute |
| IFD name | renderer:uvattribute |
| Default | ("") |
The name of the attribute used in UV un-wrapping.
| Houdini name | vm_networkqsize |
| IFD name | renderer:networkqsize |
| Default | (8) |
When performing network rendering, this specifies the number of tiles queued for each remote render.
| Houdini name | vm_octreestyle |
| IFD name | renderer:octreestyle |
| Default | (1) |
Tunes ray-tracing acceleration structures. The default is usually reasonable and there is typically no reason to change the value.
| Houdini name | vm_kdcrossover |
| IFD name | renderer:kdcrossover |
| Default | (100) |
Tunes ray-tracing acceleration structures. The default is usually reasonable and there is typically no reason to change the value.
| Houdini name | vm_kdcostratio |
| IFD name | renderer:kdcostratio |
| Default | (1) |
Tunes ray-tracing acceleration structures. The default is usually reasonable and there is typically no reason to change the value.
| Houdini name | vm_kdmemfactor |
| IFD name | renderer:kdmemfactor |
| Default | (1) |
Tunes ray-tracing acceleration structures. The default is usually reasonable and there is typically no reason to change the value.
| Houdini name | vm_shadingfactor |
| IFD name | renderer:shadingfactor |
| Default | (1) |
The shadingfactor setting is a global multiplier on all shading rates in the scene. Each object has a shadingrate property.
The shading rate used for an object is determined by…
shadingrate = object:shadingrate * renderer:shadingfactor
| Houdini name | vm_rayshadingfactor |
| IFD name | renderer:rayshadingfactor |
| Default | (1) |
Mantra allows a separate shadingrate when ray-tracing is performed (compared with scanline rendering). The rayshadingfactor is a global multiplier on all ray-tracing shading rates in the scene. Each object has a rayshadingrate property.
The ray-tracing shading rate used for an object is determined by…
rayshadingrate = object:rayshadingrate * renderer:rayshadingfactor
| Houdini name | vm_vexprofile |
| IFD name | renderer:vexprofile |
| Default | (0) |
VEX profiling provides a tool to do performance analysis of shader execution. Turning on VEX profiling will affect performance of shading adversely. Especially when NAN detection is turned on.
When NAN detection is turned on, each instruction executed in VEX will be checked for invalid arithmetic operations. This will check for division by 0, numeric overflow, invalid operations. Errors like this will typically result in white or black pixels in the resulting image.
| Houdini name | vm_verbose |
| IFD name | renderer:verbose |
| Default | (0) |
Determines the verbose level of the renderer. Higher values will cause mantra to print out more information about the rendering process. Typically a level of 1 or 2 is sufficient.
| Houdini name | vm_threadcount |
| IFD name | renderer:threadcount |
| Default | (1) |
The number of threads used for rendering.
| Houdini name | vm_renderengine |
| IFD name | renderer:renderengine |
| Default | (0) |
Mantra has several different methods of rendering an image. The rendering engine determines which algorithm will be used to generate the image. Though this token has an integer value, it’s also possible to set the value through a string value.
| Houdini name | vm_geocachesize |
| IFD name | renderer:geocachesize |
| Default | (32) |
The number of megabytes used for the geometry cache.
| Houdini name | vm_texcachesize |
| IFD name | renderer:texcachesize |
| Default | (32) |
The number of megabytes used for texture caching. This includes all texture caching.
| Houdini name | vm_alfprogress |
| IFD name | renderer:alfprogress |
| Default | ("false") |
Output progress in a format which can be processed by Pixar’s Alfred render queue.
| Houdini name | vm_tilecallback |
| IFD name | renderer:tilecallback |
| Default | ("") |
This property specifies a python callback which can be called at the completion of each tile rendered. There is a “built-in” “mantra” module which allows information to be queried. There is a single function available in the mantra module. The “property” function allows querying of any global rendering property as well as some other special properties. The result of the property call is always a list of values.
The special properties queried may be…
import mantra import sys tile = mantra.property("tile:ncomplete")(0) if tile == 1 print mantra.property("renderer:name") print mantra.property("renderer:version")
| Houdini name | vm_networkcompress |
| IFD name | renderer:networkcompress |
| Default | ("true") |
Turns on compression when network rendering. This cuts down on network bandwidth significantly. This should not usually be changed.
| Houdini name | vm_dsmoptimize |
| IFD name | renderer:dsmoptimize |
| Default | ("true") |
Deep shadow map optimization. This value should not usually be changed.
| Houdini name | vm_fogbackground |
| IFD name | renderer:fogbackground |
| Default | ("true") |
Mantra only runs atmosphere shaders after surface shaders have been run. This means that there are no atmosphere shaders run if there are no objects rendered. When this setting is true, a giant box is created surrounding the scene. The box has a matte shader applied. The size of the box is determined by sqrt(1/3) * far_clip (the camera’s far clipping plane).
| Houdini name | vm_usemaxthreads |
| IFD name | renderer:usemaxthreads |
| Default | ("true") |
Set renderer:threadcount to the number of CPUs of the rendering machine.
| Houdini name | vm_hidden |
| IFD name | renderer:hidden |
| Default | ("true") |
Perform hidden surface removal. When hidden surface removal is disabled, all surfaces in the camera’s frustum will be rendered, regardless of whether they are occluded. This can impact render time significantly.
| Houdini name | vm_blurquality |
| IFD name | renderer:blurquality |
| Default | ("true") |
Whether to enable motion blur sampling for scanline rendering.
| Houdini name | vm_rayblurquality |
| IFD name | renderer:rayblurquality |
| Default | ("true") |
Whether to enable motion blur sampling for ray-traced rendering.
| Houdini name | vm_dofquality |
| IFD name | renderer:dofquality |
| Default | ("true") |
Whether to enable depth of field sampling.
| Houdini name | vm_rayquality |
| IFD name | renderer:rayquality |
| Default | ("true") |
Whether to enable ray-tracing. By disabling ray-tracing no ray-traced shadows, reflections, refractions, etc. will be performed.
| Houdini name | vm_giquality |
| IFD name | renderer:giquality |
| Default | ("true") |
Whether to enable the irradiance and occlusion VEX functions. This also controls whether irradiance caching will be enabled.
| Houdini name | vm_pbrprimarycache |
| IFD name | renderer:pbrprimarycache |
| Default | ("") |
Specifies the method of caching for primary rays in PBR mode. This may be set to either “icache” or “photon”.
| Houdini name | vm_pbrsecondarycache |
| IFD name | renderer:pbrsecondarycache |
| Default | ("") |
Specifies the method of caching for secondary rays in PBR mode. This may be set to either “icache” or “photon”.
| Houdini name | vm_pbrcausticcache |
| IFD name | renderer:pbrcausticcache |
| Default | ("") |
Specifies the method of caching for caustic rays in PBR mode. This may be set to either “icache” or “photon”
| Houdini name | vm_pbrcachedirect |
| IFD name | renderer:pbrcachedirect |
| Default | (1) |
The cache file will store direct illumination as well as indirect illumination.
| Houdini name | vm_pbrpathtype |
| IFD name | renderer:pbrpathtype |
| Default | ("diffuse") |
The type of path tracing to perform in PBR mode.
| Houdini name | vm_pbrreflectlimit |
| IFD name | renderer:pbrreflectlimit |
| Default | (10) |
The maximum specular bounces allowed in PBR mode.
| Houdini name | vm_pbrdiffuselimit |
| IFD name | renderer:pbrdiffuselimit |
| Default | (0) |
The maximum diffuse bounces allowed in PBR mode.
| Houdini name | vm_pbrphotonsamples |
| IFD name | renderer:pbrphotonsamples |
| Default | (10) |
The number of photon samples in PBR mode.
| Houdini name | vm_pbrbias |
| IFD name | renderer:pbrbias |
| Default | (0.001) |
The ray-tracing bias used when the PBR rendering engines are used.
| Houdini name | vm_bucketsize |
| IFD name | image:bucket |
| Default | (16) |
The tile size of buckets used to render the image.
| Houdini name | vm_samples |
| IFD name | image:samples |
| Default | (3, 3) |
The number of x and y samples per-pixel.
| Houdini name | vm_jitter |
| IFD name | image:jitter |
| Default | (1) |
A floating point value which adds noise to sampling patterns.
| Houdini name | vm_subpixel |
| IFD name | image:subpixel |
| Default | ("false") |
Normally, sub-pixel samples are filtered using the pixel filter defined on an image plane. When image:subpixel is true, each sub-pixel is output without any pixel filtering performed. The image:resolution property will be scaled by the image:samples property to determine the actual output image resolution. For example, if image:resolution was (1024,512) and image:samples was (4,6), the image rendered would have a resolution of 4096 by 3072. Each pixel would represent a single unfiltered sub-pixel sample.
| Houdini name | vm_samplelock |
| IFD name | image:samplelock |
| Default | ("true") |
This property will “lock” the sampling patterns from frame-to-frame. This minimizes the buzzing caused by noise when rendering animations. The noise is still present, but is more consistent frame-to-frame.
| Houdini name | vm_opacitythresh |
| IFD name | image:opacitythresh |
| Default | (0) |
After shading of a surface, if the Of variable is less than this threshold, mantra will consider that the surface doesn’t exist and samples will be ignored.
| Houdini name | vm_opacitylimit |
| IFD name | image:opacitylimit |
| Default | (0.995) |
When compositing layers of transparent surfaces, when the cumulative opacity of the transparent layers is more than this threshold, the pixel will be considered opaque, allowing mantra to ignore objects which are occluded.
| Houdini name | vm_colorlimit |
| IFD name | image:colorlimit |
| Default | (1000) |
When performing shading, mantra places no limits on values which may be returned. However, when performing Physically Based Rendering, it’s possible to get very large values for some rays. These extrema will show cause color spikes which cannot be smoothed out without sending huge numbers of rays. The color limit is used to clamp the value of the Cf variable to avoid these spikes.
| Houdini name | vm_photongfile |
| IFD name | photon:photongfile |
| Default | ("global.pmap") |
When renderer:renderengine is “photon”, this determines the photon map file for diffuse photons (irradiance)
| Houdini name | vm_photoncfile |
| IFD name | photon:photoncfile |
| Default | ("caustic.pmap") |
When renderer:renderengine is “photon”, this determines the photon map file for caustic photons (specular bounces)
| Houdini name | vm_photoncount |
| IFD name | photon:photoncount |
| Default | (100000) |
The number of photons sent when renderer:renderengine is set to “photon”.
| Houdini name | vm_photongfilter |
| IFD name | photon:photongfilter |
| Default | (50) |
The number of photons used in pre-filtering the global map.
| Houdini name | vm_photoncfilter |
| IFD name | photon:photoncfilter |
| Default | (50) |
The number of photons used in pre-filtering for the caustic map.
| Houdini name | vm_photongradius |
| IFD name | photon:photongradius |
| Default | (1) |
The search radius when pre-filtering photons for the global map.
| Houdini name | vm_photoncradius |
| IFD name | photon:photoncradius |
| Default | (1) |
The search radius when pre-filtering photons for the caustic map.
| Houdini name | vm_photongratio |
| IFD name | photon:photongratio |
| Default | (1) |
The probability for discarding photons during pre-filtering of the global map.
| Houdini name | vm_photoncratio |
| IFD name | photon:photoncratio |
| Default | (1) |
The probability for discarding photons during pre-filtering of the caustic map.
| Houdini name | vm_photongprefilter |
| IFD name | photon:photongprefilter |
| Default | ("true") |
A boolean to determine whether pre-filtering should be performed on the global photon map.
| Houdini name | vm_photoncprefilter |
| IFD name | photon:photoncprefilter |
| Default | ("false") |
A boolean to determine whether pre-filtering should be performed on the caustic photon map.
| Houdini name | orthowidth |
| IFD name | camera:orthowidth |
| Default | (1) |
When camera:projection is “orthographic”, this determines the width of the projection.
| Houdini name | vm_curvature |
| IFD name | camera:curvature |
| Default | (0) |
Mantra is able to render using a non-flat projection plane. When the curvature is non-zero, ray-tracing will be used for primary rays. The curvature may either be greater or less than zero to mimic a wide angle or fish-eye lens.
| Houdini name | vm_bokeh |
| IFD name | camera:bokeh |
| Default | ("radial") |
Bokeh determines the “quality” of depth of field.
Geometry Properties
Most of the geometry properties are set using the ray_detail statement, though it is possible to explicitly set the values.
| Houdini name | vm_computeN |
| IFD name | geometry:computeN |
| Default | ("true") |
Whether mantra should compute the N attribute automatically. If the N attribute exists, the value will remain unchanged. However, if no N attribute exists, it will be created. This allows polygon geometry which doesn’t have the N attribute already computed to be smooth shaded.
Not supported for per-primitive material assignment (material SOP).
| Houdini name | vm_motiontimescale |
| IFD name | geometry:timescale |
| Default | (1) |
When the -v option is specified on the ray_detail line, this determines the time scale for velocity based motion blur.
Object Properties
Unless specified, each object property may be attached to a primitive by binding a material object to the primitive using the shop_materialpath attribute.
-
0– No coving. -
1– Only displaced surfaces and sub-division surfaces will be coved. -
2– All primitives will be coved. -
none– No illumination -
direct– Direct illumination (from light sources) only -
indirect– Both direct and indirect illumination -
none– No illumination. -
direct– Direct illumination (from light sources) only. -
indirect– Both direct and indirect illumination. -
none– No illumination -
direct– Direct illumination (from light sources) only -
indirect– Both direct and indirect illumination -
point -
box -
gauss -
bartlett -
blackman -
catrom -
hanning -
mitchell -
r– Read only. -
w– Write only. -
rw– Read and write.
| Houdini name | categories |
| IFD name | object:categories |
| Default | ("") |
The space or comma separated list of categories to which this object belongs.
Currently not supported for per-primitive material assignment (material SOP).
| Houdini name | vm_renderable |
| IFD name | object:renderable |
| Default | ("true") |
If this option is turned off, then the instance will not be rendered. The object’s properties can still be queried from within VEX, but no geometry will be rendered. This is roughly equivalent to turning the object into a transform space object.
| Houdini name | vm_rmbackface |
| IFD name | object:rmbackface |
| Default | ("false") |
Perform backface removal on surfaces.
| Houdini name | vm_rendersubd |
| IFD name | object:rendersubd |
| Default | ("false") |
Render polygons as a subdivision surface. The creaseweight attribute is used to perform linear creasing. This attribute may appear on points, vertices or primitives.
| Houdini name | vm_renderpoints |
| IFD name | object:renderpoints |
| Default | ("false") |
Render only the points of the geometry. Two attributes control the point primitives if they exist.
|
|
A vector which determines the normal of the point geometry. If the attribute doesn’t exist, points are oriented to face the incoming ray (the VEX |
|
|
Determines the 3D size of the points (defaults to 0.005). |
| Houdini name | vm_metavolume |
| IFD name | object:metavolume |
| Default | ("false") |
Render metaballs as volumes as opposed to surfaces.
| Houdini name | vm_overridedetail |
| IFD name | object:overridedetail |
| Default | ("false") |
When geometry has shaders defined on a per-primitive basis, this parameter will override these shaders and use only the object’s shader. This is useful when performing matte shading on objects.
Not supported for per-primitive material assignment (material SOP).
| Houdini name | vm_refractlimit |
| IFD name | object:refractlimit |
| Default | (1) |
The maximum refraction bounces.
| Houdini name | vm_reflecttlimit |
| IFD name | object:reflectlimit |
| Default | (1) |
The maximum reflection bounces.
| Houdini name | vm_rayweight |
| IFD name | object:rayweight |
| Default | (0.001) |
As rays propagate through the scene, they contribute less and less to the final color of the surface. When the contribution becomes less than the ray weight, no further rays will be sent. This is similar to the renderer:opacitylimit.
| Houdini name | reflectmask |
| IFD name | object:reflectmask |
| Default | ("~*") |
| Houdini name | reflectcategories |
| IFD name | object:reflectcategories |
| Default | ("~*") |
These parameters determine the set of objects which will be visible in reflection rays.
| Houdini name | refractmask |
| IFD name | object:refractmask |
| Default | ("~*") |
| Houdini name | refractcategories |
| IFD name | object:refractcategories |
| Default | ("~*") |
These parameters determine the set of objects which will be visible in refraction rays.
| Houdini name | lightmask |
| IFD name | object:lightmask |
| Default | ("~*") |
| Houdini name | lightcategories |
| IFD name | object:lightcategories |
| Default | ("~*") |
These parameters determine the set of light sources which are used to illuminate the surface.
| Houdini name | vm_biasnormal |
| IFD name | object:biasnormal |
| Default | ("false") |
When biases are used in VEX shaders, the bias can either be performed along the ray direction or along the surface normal. If this parameter is turned on, biasing will be along the surface normal (in the correct direction).
| Houdini name | vm_gridedgebias |
| IFD name | object:gridedgebias |
| Default | (0.01) |
When shading grid edges, this bias will move the edge points slightly away from the actual grid edge. This improves bad shadowing artifacts which might be seen where two primitives meet. This is only used when micro-polygon rendering.
| Houdini name | vm_displacebound |
| IFD name | object:displacebound |
| Default | (0) |
The maximum bounds that the displacement shader will move geometry. This is defined in “camera” space. Note, that the absolute value is used to determine the bounds.
| Houdini name | vm_redice |
| IFD name | object:redice |
| Default | ("false") |
With extreme displacement, it’s possible to get micro-polygons which are stretched far out of shape. Turning re-dicing on will cause the geometry to be re-diced after the geometry has been displaced. This will result in micro-polygons which have a much more uniform size and will most likely provide higher quality images. This is more costly since the displacement shader may be run multiple times during the projection process.
| Houdini name | vm_binarysplit |
| IFD name | object:binarysplit |
| Default | ("false") |
When splitting primitives, this ensures that primitives are split into grids containing a power of 2 micro-polygons. This minimizes patch cracks.
| Houdini name | vm_truedisplace |
| IFD name | object:truedisplace |
| Default | ("true") |
When running displacement shaders when micro-polygon rendering, this option will determine whether the VEX variable P is actually moved or whether bump mapping will be performed.
| Houdini name | vm_raytruedisplace |
| IFD name | object:raytruedisplace |
| Default | ("true") |
When running displacement shaders when ray-tracing, this option will determine whether the VEX variable P is actually moved or whether bump mapping will be performed.
| Houdini name | vm_raypredice |
| IFD name | object:raypredice |
| Default | ("false") |
When ray-tracing, it’s more efficient to pre-dice all the geometry in the scene, rather than caching portions of the geometry and re-generating the geometry on the fly. This is especially true when global illumination is being computed (since there is less coherency among rays). The object:raypredice property will cause this object to generate all the micro-polygons before the render begins. Ray tracing can be significantly faster at the cost of potentially huge memory requirements.
Currently not supported for per-primitive material assignment (material SOP).
| Houdini name | vm_perspective |
| IFD name | object:perspective |
| Default | ("false") |
When micro-polygon rendering, motion can either be sampled in screen space or in 3D space. Turning on object:perspective will cause sampling to occur in perspective projected space. This will not match ray-traced motion blur, which is always done in 3D space.
| Houdini name | vm_rayshade |
| IFD name | object:rayshade |
| Default | ("false") |
When micro-polygon rendering, shading normally occurs at micro-polygon vertices at the beginning of the frame. To determine the color of a sample, the corner vertices are interpolated. Turning on object:rayshade will cause the ray-tracing shading algorithm to be invoked. This will cause each sample to be shaded independently. This means that the shading cost may be significantly increased. However, each sample will be shaded at the correct time, and location.
Currently not supported for per-primitive material assignment (material SOP).
| Houdini name | vm_smoothcolor |
| IFD name | object:smoothcolor |
| Default | ("true") |
When micro-polygon rendering, shading normally occurs at micro-polygon vertices at the beginning of the frame. This option causes the vertex colors to be Gouraud shaded to determine the color for a sample.
When trying to match a background plate exactly, it’s desirable to eliminate any filtering which might occur on the plate. The Gouraud interpolation will cause a softening of the map, and thus, this option should be turned off.
| Houdini name | vm_geometrygroup |
| IFD name | object:geometrygroup |
| Default | ("") |
Each object references a geometry object. Houdini geometry allows multiple primitive groups to be defined. If the object:geometrygroup parameter is set to a string, only the primitives which are members of the named group will be rendered by this instance. This allows multiple objects to instance the same geometry, but render different parts.
Not supported for per-primitive material assignment (material SOP).
| Houdini name | vm_shadingquality |
| IFD name | object:shadingquality |
| Default | (1) |
The shading quality for scanline rendering. A higher quality will generate smaller micro-polygons meaning more shading and sampling will occur, but the quality will be higher.
| Houdini name | vm_rayshadingquality |
| IFD name | object:rayshadingquality |
| Default | (1) |
The shading quality when ray-tracing.
| Houdini name | vm_coving |
| IFD name | object:coving |
| Default | (1) |
Whether crack-prevention will be performed.
See the help for the Coving parameter in the Geometry container object.
| Houdini name | vm_motionfactor |
| IFD name | object:motionfactor |
| Default | (0) |
Increasing the motion factor of an object will dynamically adjust the shading quality based on the rate of motion. This can significantly speed up renderings of rapid moving objects. It also affects depth of field and may improve speed of scenes with deep depth of focus.
| Houdini name | vm_flatness |
| IFD name | object:flatness |
| Default | (0.1) |
This property controls the tesselation levels for nearly flat primitives. By increasing the value, more primitives will be considered flat and will be sub-divided less.
| Houdini name | vm_pbrdiffusemask |
| IFD name | object:pbrdiffusemask |
| Default | (2) |
When PBR samples the diffuse illumination for the surface, this determines how the illumination should be computed.
| Houdini name | vm_pbrglossymask |
| IFD name | object:pbrglossymask |
| Default | (2) |
When PBR samples the glossy illumination for the surface, this determines how the illumination should be computed.
| Houdini name | vm_pbrspecularmask |
| IFD name | object:pbrspecularmask |
| Default | (2) |
When PBR samples the specular illumination for the surface, this determines how the illumination should be computed.
| Houdini name | vm_volumestepsize |
| IFD name | object:volumestepsize |
| Default | (1) |
The step size used when rendering volumes. The size is specified in camera space.
| Houdini name | vm_hasshadowstep |
| IFD name | object:useshadowstep |
| Default | ("false") |
Enable the use of a separate step size when computing shadows for volumes.
| Houdini name | vm_shadowstepsize |
| IFD name | object:shadowstepsize |
| Default | (1) |
When computing shadows, use this step size instead of the object:volumestepsize property.
| Houdini name | vm_volumefilter |
| IFD name | object:filter |
| Default | ("box") |
Some volume primitives (Image3D, Houdini Geometry Volumes) can use a filter during evaluation of volume channels. This specifies the filter.
| Houdini name | vm_volumefilterwidth |
| IFD name | object:filterwidth |
| Default | (1) |
This specifies the filter width for the object:filter property. The filter width is specified in number of voxels.
| Houdini name | vm_gienable |
| IFD name | object:gienable |
| Default | ("false") |
Enable irradiance cache generation for this object.
| Houdini name | vm_gifile |
| IFD name | object:gifile |
| Default | ("") |
The file to store the irradiance cache. If multiple objects specify the same file, the cache file will contain samples from all objects.
| Houdini name | vm_gifilemode |
| IFD name | object:gifilemode |
| Default | ("") |
The read-write mode for the file.
| Houdini name | vm_gisample |
| IFD name | object:gisample |
| Default | (256) |
The default number of samples used to compute irradiance when the shader doesn’t specify it. In most cases, the shader does specify the value.
| Houdini name | vm_gierror |
| IFD name | object:gierror |
| Default | (0.1) |
The error used to determine whether a new irradiance sample needs to be computed. Smaller values will lead to larger, but more accurate irradiance cache files.
| Houdini name | vm_giminspacing |
| IFD name | object:giminspacing |
| Default | (1.5) |
| Houdini name | vm_gimaxspacing |
| IFD name | object:gimaxspacing |
| Default | (20) |
The minimum and maximum number of pixels between nearby irradiance cache samples.
| Houdini name | vm_dorayvariance |
| IFD name | object:dorayvariance |
| Default | ("true") |
When ray-tracing VEX functions are invoked, send out additional rays to perform anti-aliasing of ray-traced effects. This will typically generate higher quality ray-tracing. The sampling is determined by image:minraysamples and image:maxraysamples.
| Houdini name | vm_variance |
| IFD name | object:variance |
| Default | (0.05) |
The variance threshold to send out additional anti-aliasing rays. When near-by samples are very similar, fewer anti-aliasing rays will be sent out. When near-by samples are different, more rays will be sent.
| Houdini name | vm_minraysamples |
| IFD name | object:minraysamples |
| Default | (1) |
The minimum number of ray-tracing samples used in variance anti-aliasing.
| Houdini name | vm_maxraysamples |
| IFD name | object:maxraysamples |
| Default | (9) |
The maximum number of ray-tracing samples used when variance anti-aliasing.
| Houdini name | vm_traceblur |
| IFD name | object:traceblur |
| Default | ("false") |
Enable or disable raytrace motion blur for micropolygon rendering and photon map generation. By default, raytrace motion blur is disabled. This setting has no effect on the ray tracing rendering engines.
Atmosphere Properties
| Houdini name | categories |
| IFD name | fog:categories |
| Default | ("") |
The category membership list for the fog object.
| Houdini name | lightmask |
| IFD name | fog:lightmask |
| Default | ("~*") |
A pattern of lights (by name) which are used to illuminate the fog object.
| Houdini name | lightcategories |
| IFD name | fog:lightcategories |
| Default | ("~*") |
A pattern of lights (by category) which are used to illuminate the fog object.
Light Properties
-
point– No area shape -
line– Line light (unit line along x-axis) -
grid– Grid light (unit square in XY plane) -
disk– Circle shaped light (radius 0.5 in XY plane) -
sphere– Sphere shaped light (radius 0.5) -
environment– Sphere shaped light (infinite radius) -
line – Only the X size is used
-
grid – The X & Y size of the grid
-
disk – The X & Y radii of the circle
-
sphere – The average of the sizes is used as the radius
-
environment – Ignored
| Houdini name | categories |
| IFD name | light:categories |
| Default | ("") |
The category membership list for the light object
| Houdini name | shadowmask |
| IFD name | light:shadowmask |
| Default | ("~*") |
The pattern of object names which are considered for ray-traced shadows.
| Houdini name | shadowcategories |
| IFD name | light:shadowcategories |
| Default | ("~*") |
The pattern of object categories which are considered for ray-traced shadows.
| Houdini name | vm_activeradius |
| IFD name | light:activeradius |
| Default | (-1) |
The active radius of the light source can be used to optimize renders. When illuminating a surface, only surfaces within the active radius will be considered.
Example: Consider a car tunnel with lights every 10 meters. If the light has a sharp falloff, then it’s possible to have thousands of lights and still render in a reasonable amount of time. No shaders will be run (neither the illumination nor the shadow shader).
| Houdini name | vm_nondiffuse |
| IFD name | light:__nondiffuse |
| Default | ("false") |
When true, the light will not contribute to diffuse() calls.
| Houdini name | vm_nonspecular |
| IFD name | light:__nonspecular |
| Default | ("false") |
When true, the light will not contribute to specular() calls.
| Houdini name | vm_nondirect |
| IFD name | light:__nondirect |
| Default | ("false") |
When true, the light is only used on secondary GI bounces.
| Houdini name | vm_areashape |
| IFD name | light:areashape |
| Default | ("") |
The shape of an area light.
| Houdini name | vm_areasize |
| IFD name | light:areasize |
| Default | (0, 0) |
The size of the area light. The sizes are interpreted slightly differently for each shape.
| Houdini name | vm_areasamples |
| IFD name | light:areasamples |
| Default | (16) |
The number of illumination samples to be used for the light source.
| Houdini name | vm_areafullsphere |
| IFD name | light:areafullsphere |
| Default | ("false") |
For the environment light, whether the light source represents the full sphere or the upper hemisphere
| Houdini name | vm_areausemap |
| IFD name | light:areausemap |
| Default | ("false") |
Only used for the environment light. This determines whether the the light:areamap parameter will be used.
| Houdini name | vm_areamap |
| IFD name | light:areamap |
| Default | ("") |
Only used for the environment light. This specifies an environment map which is used for illuminating the scene. The map may be an HDRI map.
| Houdini name | vm_pbrsampled |
| IFD name | light:pbrsampled |
| Default | ("true") |
If this is true, the map attached to the environment area light will be analyzed to determine the best sample locations for illumination points. This should be turned on for maps which have very sharp discontinuities in illumination levels. For maps which are fairly uniform in color, the toggle should be turned off. With the toggle turned off, the sphere geometry will be used (which provides less noise for smooth maps).
| Houdini name | vm_photontarget |
| IFD name | light:photontarget |
| Default | ("~*") |
When sending photons from this light source, this is the category expression to determine which objects will receive photons.
Image output properties
These properties control the conversion of mantra pixels into the chosen output file format.
Generally these are only useful on render drivers and cameras. Properties such as vm_image_rat_makemipmaps could be applied to light sources and objects to control the generation of mipmaps in shadow and reflection/environment maps, but it’s probably not a good idea.
These Houdini properties will be included in the IFD as plane properties named similarly to the format options described in the output of the iconvert utility, for example TIFF.compression.
| Houdini name | vm_image_artist |
| Default | ("username") |
The name of the image creator. By default uses the current user’s log in name.
Houdini, TIFF, PNG formats
| Houdini name | vm_image_comment |
| Default | ("") |
A text comment to include in the output file.
Houdini, OpenEXR, PNG formats
| Houdini name | vm_image_hostname |
| Default | ("hostname") |
The name of the computer where this image was created.
Houdini format
| Houdini name | vm_image_tiff_compression |
| Default | ("LZW") |
Type of image compression to use in TIFF files. Possible values are "None", "LZW", "AdobeDeflate", "Deflate", "PackBits", "JPEG", "PixarLog", "SGILog", "SGILog24".
| Houdini name | vm_image_tiff_predictor |
| Default | ("auto") |
Parameter to TIFF compressor. Leave this set to “auto”. Possible values are "auto", "none", "horizontal".
| Houdini name | vm_image_rat_compression |
| Default | ("deflate") |
Type of image compression to use in RAT (Houdini texture) files. Possible values are "deflate", "none".
| Houdini name | vm_image_rat_makemips |
Enable generation of MIP MAPS when creating RAT files
| Houdini name | vm_image_jpeg_quality |
| Default | (75) |
JPEG Quality, integer from 10 to 100.
| Houdini name | vm_image_cineon_space |
| Default | ("lin") |
Color space for Cineon format images. Possible values are "log" (unconverted), and "lin" (linear).
| Houdini name | vm_image_cineon_lut |
| Default | ("") |
Filename of a Look Up Table file to use for display of Cineon images in MPlay.
| Houdini name | vm_image_cineon_whitepoint |
| Default | (685) |
White point for Cineon format images, integer from 0 to 1023.
| Houdini name | vm_image_cineon_gamma |
| Default | (0.6) |
White point for Cineon format images, from 0.001 to 4.0.
| Houdini name | vm_image_exr_compression |
| Default | ("piz") |
Compression type for EXR format images. Possible values are "none", "rle", "zips", "zip", "piz", "pix".
| Houdini name | vm_image_exr_storage |
| Default | ("scan") |
Storage method for EXR format images. Possible values are "scan" (scanline) and "tile".
| Houdini name | vm_image_png_frompremult |
| Default | ("premult") |
Whether to pre-multiply PNG format images. Possible values are "premult" or "unpremult".
| Houdini name | vm_image_mplay_rendermode |
| Default | ("current") |
Controls how MPlay deals with new frames. Possible values are "current" (add rendered frames to MPlay’s current sequence) or "new" (have MPlay start a new sequence).
| Houdini name | vm_image_mplay_framemode |
| Default | ("append") |
Controls how MPlay inserts new frames into the current sequence. Possible values are "append" (add new frames on to the end of the current sequence), or "match" (replace frames with the same number in the current sequence).
| Houdini name | vm_image_mplay_direction |
| Default | ("middle") |
How MPlay renders the image. Possible values are "middle" (middle out), "top" (top down), or "bottom" (bottom up).
| Houdini name | vm_image_mplay_gamma |
| Default | (0.0) |
Display gamma for MPlay, from 0.0 to 4.0.
| Houdini name | vm_image_mplay_lut |
| Default | ("") |
Filename of a Look Up Table file for MPlay.
Houdini-only properties
| Houdini name | vm_matte |
| Default | ("false") |
Replaces any shaders with the default matte shader. This property is not available in IFD, because it works by changing what is written to the IFD file.
IFD-only properties
These properties exist in IFD scene description files, but do not have equivalents in the Houdini property UI.
Implicit properties
These properties are only meaningful in IFD:
|
|
Default: (“mantra”) Read only variable holding the renderer’s name. |
|
|
Example: (9, 0, 614) Read only triple of the major version, minor version, and build number of the renderer. |
|
|
Example: (0) An integer value which can be queried from within shaders. Not supported for per-primitive material assignment (in the Material surface node). |
Computed properties
The following properties are computed in scripts during the mapping process. They do not have directly equivalent Houdini properties.
-
0– Both even & odd fields. -
1– Odd field. -
2– Even field. -
filename(default = “”) – The filename to output the deep shadow information. -
ofstorage(default = “real16”) – The storage format forOf. The value should be one of…-
real16– 16 bit floating point values. -
real32– 32 bit floating point values. -
real64– 64 bit floating point values.
-
-
pzstorage(default = “real32”) – The storage format for Pz. The value should be one of…-
real16– 16 bit floating point values. -
real32– 32 bit floating point values. -
real64– 64 bit floating point values.
-
-
ofsize(default = 3) – The number of components to store for opacity. This should be either1for monochrome (stored as the average value) or3for full RGB color. -
compression(default = 4) – Compression value between 0 and 10. Used to limit the number of samples which are stored in a lossy compression mode. -
zbias(default = 0.001) – Used in compression to “merge” samples which are closer than some threshold. -
depth_mode(default = “nearest”) – Used in compression to determine whether to keep the nearest, the farthest or the midpoint of samples. The possible choices for depth_mode are…-
nearest– Choose the smallest Pz value. -
farthest– Choose the largest Pz value. -
midpoint– Choose the midpoint of Pz values.
-
-
depth_interp(default = “discrete”)-
discrete– Each depth sample represents a discrete surface. -
continuous– Each depth sample is part of a continuum (i.e. volume).
-
-
uniform [-s size]– Generates uniform divisions. The -s option can be used to scale the size of the micro-polygons. A larger scale will result in smaller micro-polygons. -
raster– Measures geometry in screen space. This is roughly equivalent to the “nonraster -z 0” measurer, so is deprecated in favor of that approach. -
nonraster [-z importance]– This measures geometry in 3D. The z-importance can be used to bias the z-component of the surface. A z-importance of0means that the x and y components of the object will be the only metric in determining the size of the object. This is roughly equivalent to raster space measurement.By increasing the z-importance to
1, the z measurement becomes more meaningful. It is possible to increase the z-importance beyond 1.If you think of a grid in the XY plane, the z-importance has no effect. However, if the grid is nearly in the XZ plane, z-importance has more influence on the dicing. With a z-importance of 0, only the projected measurements will be used, which will result in long, thin strips being created. With a z-importance of 1, the grid will be more uniformly sub-divided. With a value greater than 1, more divisions will be performed in Z.
This is important when displacement mapping is being performed. Increasing the z-importance will improve quality on displacement shaded ground planes (for example).
| IFD name | image:resolution |
| Default | (256, 256) |
The output image resolution.
| IFD name | image:field |
| Default | (0) |
The video field to render.
| IFD name | image:crop |
| Default | (0, 1, 0, 1) |
A rectangle in screen space as (xmin, xmax, ymin, ymax), where the values are between 0 and 1. Only pixels within this region will be rendered.
| IFD name | image:window |
| Default | (0, 1, 0, 1) |
This is used in determining the camera projection. Like the crop window, this specifies a rectangle in the screen. Unlike the crop window, the window is expanded to fill the full image.
| IFD name | image:deepresolver |
| Default | ("") |
When generating an image, mantra runs the sample filter to composite samples to a single color. Mantra then runs the pixel filter to produce the final color for a pixel. A deep resolver is used to store information about each sample prior to sample filtering. This allows the image resolver to store information about each individual sample before compositing. The image:deepresolver property specifies the resolver and any arguments to the resolver.
Options:
Example: shadow filename test.rat ofsize 1
| IFD name | image:pixelaspect |
| Default | (1) |
The pixel aspect ratio of the output image.
| IFD name | camera:projection |
| Default | (0) |
The camera’s projection model. This may be one of perspective, orthographic, polar, or cylindrical.
| IFD name | camera:clip |
| Default | (0.001, 1000) |
Near and far clipping planes for the projection.
| IFD name | camera:zoom |
| Default | (1) |
Ratio of the focal length to the aperture of the camera. It is used to determine the field of view of the camera.
| IFD name | camera:focal |
| Default | (50) |
| IFD name | camera:focus |
| Default | (1) |
| IFD name | camera:fstop |
| Default | (3.402823e+38) |
| IFD name | geometry:name |
| Default | ("undefined") |
The name associated with the geometry. This is the name which instance objects use to access the geometry.
| IFD name | geometry:basepath |
| Default | ("") |
Materials may be specified on a per-primitive basis. However, since materials refer to SHOP paths, it’s sometimes important to be able to resolve relative paths.
| IFD name | object:phantom |
| Default | ("false") |
When true, the object will not be rendered by primary rays. Only secondary rays will hit the object.
| IFD name | object:surface |
| Default | ("") |
The surface shader attached to the object.
| IFD name | object:displace |
| Default | ("") |
The displacement shader attached to the object.
| IFD name | object:measure |
| Default | ("nonraster -z 0") |
When primitives are rendered in mantra, they are split into smaller primitives if they are “too big” to be rendered. The primitives are measured to determine if they are to big using the measurer.
There are several different measurers available, each which take some optional arguments…
| IFD name | object:raymeasure |
See object:measure above.
| IFD name | fog:shader |
| Default | ("") |
The VEX shader used to shade a fog object.
| IFD name | light:shader |
| Default | ("") |
The shader used to compute the illumination of the light source.
| IFD name | light:shadow |
| Default | ("") |
The shader used to compute occlusion of light from the light source.
| IFD name | light:projection |
| Default | (0) |
Used when computing NDC (Normalized Device Coordinates) from within VEX shaders.
| IFD name | light:zoom |
| Default | (1,1) |
Used when computing NDC (Normalized Device Coordinates) from within VEX shaders.
| IFD name | light:orthowidth |
| Default | (1,1) |
Used when computing NDC (Normalized Device Coordinates) from within VEX shaders.
| IFD name | photon:photonshaders |
| Default | ("false") |
Whether object shaders will use shaders defined by the photon context or by the surface context when shading.
Misc. properties
| Houdini name | mplay:port |
| IFD name | renderer:houdiniportnum |
| Default | ("0") |
When Houdini starts a render, it creates a “port” which allows mplay or other applications to communicate information back. This is the port number that Houdini opened. This setting will be deprecated in the future and be passed as an image device option.