Since | 18.0 |
The Karma LOP creates render vars, a
render product and a
render settings primitive, configured for Karma. It also includes a USD Render ROP to allow you to render the input stage immediately.
The USD scene, configured for rendering with Karma, is accessible through the first output and can be written to disk or further modified.
Parameters
Save to Disk
Renders with the last render control settings, using the path specified in Output Picture.
Render Control
Opens the render control dialog to allow adjustments of the render parameters before rendering.
Valid Frame Range
Controls whether this render node outputs the current frame (Render any frame) or the image sequence specified in the Start/End/Inc parameters (Render Frame Range).
Render Frame Range (strict) will render frames START to END when it is rendered, but will not allow frames outside this range to be rendered at all. Render Frame Range will allow outside frames to be rendered. This is used in conjunction with render dependencies. It also affects the behavior of the 'Override Frame Range' in the Render Control dialog.
Two possible cases where you'd want the strict behavior:
-
A 60 frame walk cycle written out to a geo, but part of a larger ROP net to render out a larger frame range.
-
A texture loop from 1-20.
Otherwise, you will usually set this to non-strict.
Render Current Frame
Renders a single frame, based on the value in the playbar or the frame that is requested by a connected output render node.
Render Frame Range
Renders a sequence of frames. If an output render node is connected, this range is generally ignored in favor of frames requested by the output render node.
Render Frame Range (Strict)
Renders a sequence of frames. If an output render node is connected, this range restricts its requested frames to this frame range.
Render Frame Range From Stage
Examines the USD stage of the source LOP node for a start and end timecode value. These are used as the start and end of the frame range to render. If the stage does not have this metadata set, executing a render operation will result in an error.
Start/End/Inc
Specifies the range of frames to render (start frame, end frame, and increment). All values may be floating point values. The range is inclusive.
These parameters determine the values of the local variables for the output driver.
For example, if the parameters are set to:
Start |
End |
Inc |
---|---|---|
10.5 |
12 |
0.5 | |
…there will be 4 frames rendered (10.5, 11, 11.5, and 12), so $NRENDER
will have a value of 4. $N
will have the following values at each frame:
Frame |
|
---|---|
10.5 |
1 |
11 |
2 |
11.5 |
3 |
12 |
4 |
Preroll/Postroll/Inc
When Valid frame range is "Render stage’s frame range", the number of frames before and after the stage’s official start and end frame to render, and the interval between renders.
Render With Take
The output driver will switch to this take before rendering and then restore the current take when rendering is done.
Tip
use chs("take")
to use this value in other parameters. See the chs expression function for more information.
Camera
Path to a USD camera (UsdGeomCamera
) prim to render the scene from.
Resolution
The horizontal and vertical size of the output image, in pixels.
Instantaneous Shutter
Override the camera’s Shutter close parameter to be equal to its Shutter open time, to produce a zero-width shutter interval. This is a convenient way to disable motion blur.
Aspect Ratio Conform Policy
What to do if the aspect ratio of the output image (Resolution width divided by height) doesn’t match the aspect ratio of the camera aperture (controlled by attributes on the camera). This allows a standard renderer to do something reasonable when you switch between cameras.
Expand Aperture
If necessary, expand the camera aperture to match the image.
Crop Aperture
If necessary, crop the camera aperture to match the image.
Adjust Aperture Width
If necessary, change the camera aperture width to match the image.
Adjust Aperture Height
If necessary, change the camera aperture height to match the image.
Adjust Pixel Aspect Ratio
Change the aspect ratio of the image to match the camera.
Data Window NDC
Directs the renderer to only render within this window of the entire output image. The rectangle is specified in as minX, minY, maxX, maxY
, in a normalized range 0
to 1
. Coordinates 0, 0
are the bottom left and 1, 1
are the top right. The default window 0, 0, 1, 1
covers the entire image (that is, is not cropped).
You can use this window to temporarily crop the render to a smaller region, for testing purposes.
You can also specify negative values and/or values greater than 1 to reveal overscan data.
Pixels are only rendered if they are fully inside the window.
The normalized coordinates map to the image after any adjustments by the Aspect ratio conform policy.
Pixel Aspect Ratio
The aspect ratio (width/height) of image pixels (not the image itself).
The default is 1.0
, indicating square pixels.
Screendoor Limit
Images
Output picture
The image or device where the resulting image will be rendered. You can set this value to ip
which renders the image in MPlay, or you can save it to an image. The following image types are supported: .pic
, .tif
, .sgi
, .pic.gz
, .rat
, .jpg
, .cin
, .rta
, .bmp
, .tga
, .rad
, .exr
, and .png
.
Include $F
in the file name to insert the frame number. This is necessary when rendering animation. See expressions in file names for more information.
Color Limit
The maximum value a shading sample is allowed to contribute to an LPE image plane to reduce appearance of "fireflies" caused by undersampling of extremely bright light sources. Note that reducing this value can result in an overall reduction in the amount of light in your scene
Output
Output Checkpoint Files
Checkpoint partial image after this number of seconds. At the current time, checkpointed renders cannot be resumed.
Image Filters
Image filters post-process the filtered pixels to produce the final image.
Optix Denoiser
Adds the NVIDIA Optix Denoiser as an image filter.
Use Albedo
???
Use N Input
???
Use Gl Input
???
OCIO
OCIO image filters can be added to various render vars/image planes.
Enable
Enables the OCIO image filter defined below.
Planes
Specify the render var names to which the OCIO image filter will be applied.
Output Space
Specify the OCIO color output space the image filter will apply.
Input Space
???
Looks
???
Sample Filters
Sample filters are used to modify samples before they are sent to pixel filters.
Color Limits
Color Limits can be applied to a number of render vars individually.
Enable
Enables the color limit sample filter defined below.
Planes
Specify the render var names to which the color limit sample filter will be applied.
Limit
The maximum value a shading sample is allowed to contribute to an LPE image plane to reduce appearance of "fireflies" caused by undersampling of extremely bright light sources. Note that reducing this value can result in an overall reduction in the amount of light in your scene
Render Vars (AOVs)
Render vars, otherwise known as AOVs (arbitrary output variables) or additional image planes, can be specified here. By default the beauty
, diffuse
, glossy reflection
, volume
, depth
, UV
and normal
render vars are enabled and will write to their respective channels.
Additional render vars can be defined on the node or passed in as render var primitives through the second input for convenience.
Import Secondary Input Render Vars
Enables additional render var primitives passed in through the nodes' second input. When disabled, these won’t be merged into the stage.
Export Components
A whitespace-separated list of shading component names that will be computed for export. If you have defined new component labels in your materials, these can be added to the list so that they are exported for per-component export planes. If you are not using some components, remove them from the list to improve render efficiency.
PBR light exports assume that this list is complete - that is, all components created by shaders are listed. If there are unlisted components, light exports may be missing illumination from these components.
Diffuse Components
A space-separated list of component types that will behave like diffuse bounces. This will affect which reflection scope is used based on the ray type and also which bounce limit to use. Uncategorized component types are assumed to be reflections.
Refract Components
A space-separated list of component types that will behave like refract bounces. This will affect which reflection scope is used based on the ray type and also which bounce limit to use. Uncategorized component types are assumed to be reflections.
Volume Components
A space-separated list of component types that will behave like volume bounces. This will affect which reflection scope is used based on the ray type and also which bounce limit to use. Uncategorized component types are assumed to be reflections.
SSS Components
A space-separated list of component types that will behave like subsurface scatter bounces. This will affect which reflection scope is used based on the ray type and also which bounce limit to use. Uncategorized component types are assumed to be reflections.
LPE (Light Path Expressions)
Standard light path expression render vars
Beauty
Add the beauty output as an RGBA channel labelled C
.
Precision
Select between 16 and 32 bit precision.
Beauty Unshadowed
Add the unoccluded (unshadowed) beauty output as an RGB channel labelled beautyunshadowed
- defined as unoccluded;C.*
.
Diffuse
Add the diffuse surface reflection component as an RGB channel labelled diffuse
- defined as C<RD>L
.
Diffuse Unshadowed
Add the unoccluded (unshadowed) diffuse surface reflection component as an RGB channel labelled diffuseunshadowed
- defined as unoccluded;C<RD>L
.
Indirect Diffuse
Add the indirect diffuse surface reflection component as an RGB channel labelled indirectdiffuse
- defined as C<RD>.+L
.
Glossy Reflection
Add the glossy reflection component as an RGB channel labelled glossyreflection
- defined as C<RG>L
.
Indirect Glossy Reflection
Add the indirect glossy reflection component as an RGB channel labelled indirectglossyreflection
- defined as C<RG>.+L
.
Glossy Transmission
Add the glossy transmission component as an RGB channel labelled glossytransmission
- defined as C<TG>.*
.
Visible Lights
Add the visible lights component as an RGB channel labelled visiblelights
- defined as CL
.
Emission
Add the emission component as an RGB channel labelled emission
- defined as CO
.
Indirect Emission
Add the indirect emission component as an RGB channel labelled indirectemission
- defined as C.+O
.
Volume
Add the volume component as an RGB channel labelled volume
- defined as CVL
.
Indirect Volume
Add the indirect volume component as an RGB channel labelled indirectvolume
- defined as CV.+L
.
BSDF Labelled coat
Add the coat component as an RGB channel labelled coat
- defined as C<...'coat'>.*
.
BSDF Labelled sss
Add the sss component as an RGB channel labelled sss
- defined as C<...'sss'>.*
.
Ray
Ray Origin (P)
Add the ray origin render var as a Float3 channel labelled rayorigin
.
Ray Direction (D)
Add the ray direction render var as a Float3 channel labelled raydirection
.
Time (Shutter Time)
Add the shutter time render var as a Float channel labelled time
.
Near (Near Bias)
Add the near bias render var as a Float channel labelled near
.
Far (Max Distance)
Add the max distance render var as a Float channel labelled far
.
Mask (Intersection Mask)
Add the mask render var (alpha) as a Float channel labelled mask
.
Contribution
Add the ray contribution render var as a Float channel labelled contribution
.
P (World Space)
Add the world space position render var as a Float3 channel labelled P
.
Depth (Camera Space)
Add the depth render var as a Float channel labelled depth
.
Hitstack
Add the ray hit stack render var as a Float channel labelled hitstack
.
Element (Raw Id)
Add the element id render var as a Float channel labelled element
.
Prim Id
Add the primitive identifier render var as a Float channel labelled primid
.
UV
Add the primitive hit UV render var as a Float3 channel labelled UV
.
Hit Dist
Add the primitive hit distance render var as a Float channel labelled hitdist
.
dPdz
Add the dPdz (Z-depth delta for the current microvolume) render var as a Float channel labelled dPdz
.
N (Smooth Normal)
Add the primitive hit normal render var as a Float3 channel labelled N
.
Ng (Geometric Normal)
Add the primitive geometric normal render var as a Float3 channel labelled Ng
.
Flags
Add the ray flags render var as a Float channel labelled flags
.
Extra Render Vars
Additional render vars can be added on the node directly.
Render Var
Rendering
Sampling
Pixel Samples
The number of ray-samples sent through each pixel. More samples will result in a less noisy image.
Light Sampling Mode
Whether Karma should perform uniform sampling of lights or whether rendering should use the light tree. The light tree can be significantly faster for scenes that have large numbers of lights.
Light Sampling Quality
This is a global control to improve sampling quality for all lights. This acts as a multiplier on the individual light quality controls. Increasing the quality will improve direct light sampling as well as shadows/occlusion.
Random Seed
This is the random seed to use for the render.
Pixel Oracle
When rendering, a Pixel Oracle tells karma which pixels need additional sampling and which pixels are converged.
This parameter tells karma which oracle to use.
Minimum Samples
???
Plane
???
Variance Threshold
???
Headlight
Force Headlight Shading
Disable Lighting
Disable all lighting and material evaluation, using only the display color to shade primitives.
Headlight AO Samples
When rendering in headlight mode, perform this many ambient occlusion samples per shade.
Headlight AO Distance
When rendering in headlight mode with ambient occlusion shading, this distance is used for occlusion testing. Smaller values will result in faster, but less accurate shading.
Headlight Fog Color
The color of the depthcue fog for disabled lighting.
Shading
Ray Bias
The ray-bias used for secondary rays.
Render
IPR Inc Random
When rendering to the Solaris viewport, this causes each render to start with a new random seed.
IPR Bucket Size
The initial bucket size for IPR rendering.
IPR Reserve Threads
When rendering in IPR mode, reserve this number of threads for other Houdini tasks.
Cache Limit
Whether to use a fixed size cache (karma:global:cachesize
) or whether to use a proportion of physical memory (karma:global:cacheratio
)
Cache Memory Ratio
The proportion of physical memory Karma will use for its unified cache.
For example, with the default vm_cacheratio
of 0.25
and 16 Gb of
physical memory, Karma will use 4 Gb for its unified cache.
The unified cache stores dynamic, unloadable data used by the render including the following:
-
2D
.rat
texture tiles -
3D
.i3d
texture tiles -
3D
.pc
point cloud pages (when not preloaded into memory)
Note: This value is only used for off-line rendering, not IPR.
Cache Size (MB)
An explicit memory limit for the unified shading cache. This is deprecated in favor of using the Cache Memory Ratio.
Note: This value is only used for off-line rendering, not IPR.
Offline Optimization
Offline optimization will apply certain optimizations that are specific to non-interactive workflows. When rendering multiple frames in a single render, these optimizations may impact performance. For single frame renders, they may be significant.
Disable Optimization
Disables the optimization altogether.
Disable for multi-frame renders
Disables offline optimizations when rendering multiple frames in a single run.
Force optimization for all renders
Forces optimizations for all renders.
Threads
Thread count.
0 uses all processors.
4 uses four processors.
-1 uses all processors but one.
Time Limit
Limit rendering time to this number of seconds.
Dicing
Offscreen Quality
This parameter controls the shading quality scale factor for geometry that is not directly visible to the camera. For geometry that is outside the field of view (ie. visible only to secondary rays), karma will smoothly reduce the shading quality based on the angle between the geometry and the edge of the viewing frustum. Smaller values can increase performance particularly in scenes where the camera is within the displacement bound of nearby geometry, where it permits the hidden primitives to be diced more coarsely than those that are directly visible.
Statistics
Verbose Level
Increasing this value will cause more information to be printed out during rendering. To see render time and memory information, set the verbosity level to 1. To see more detailed information about the render, set this parameter to 3. Larger values print out progressively more information.
VEX Profiling
VEX profiling lets you analyze shader performance. Turning this on will slow down shading, especially when NAN detection is turned on.
No VEX Profiling
No VEX Profiling is performed.
Execution Profiling
Karma will print out information about shading computations at the conclusion of the render. This helps in identifying bottlenecks in the shading process.
Profiling and NAN detection
Prints out the shading information and will not print instructions that generate bad values (Not A Number). The output is cryptic, but can help track down errors in shaders.
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.
Show Alfred Progress
As rendering progresses, print out progress using the Alfred progress format. For multi-frame renders, this progress will be cumulative across frames (i.e. if there are 4 frames, percent complete will be 25% after the first frame finishes).
Add Message Time Stamps
???
USD Options
Purpose
Specify the purpose for rendering. This is a list of purposes (from {'geometry', 'guide', 'proxy', 'render'}).
Complexity
Specify geometric complexity ({'low', 'medium', 'high', 'veryhigh'}).
Resolver Context Asset Path
This file path is passed to the render command line as the resolver-context
option. This argument is used to create an asset resolver context that helps the asset resolver find files while composing the USD stage. The default of this parameter is an expression that returns the corresponding parameter on the LOP Network that contains this node.
Context Options
Number of Options
Specify the number of context options to define.
Option Name
The name you use for this option in @name expressions and scripting.
Option Type
Text
A freeform string.
Number
A freeform number.
Option Value
The value returned when referencing the option with the name specified with Option Name.
Scripts
Each script command refers to an hscript command which will be run, regardless of the expression language selected for the parameter. The resulting string will be run as an hscript command. It is possible to use the python, unix or source hscript commands to perform complex processing.
The commands are always run when rendering occurs. The command checks the parameters of the output driver when it is rendering a range or sending output to a command.
Before the render occurs, Houdini will automatically set the current hscript directory to point to the output driver.
Pre-Render Script
This command is run before any IFDs are generated. It is only run once per render.
Pre-Frame Script
This command is run before each IFD is generated.
Post-Frame Script
This command is run after each IFD is generated. Although the IFD may have been generated, this does not necessarily mean that mantra has finished rendering the image when this command is run.
Post-Render Script
This command is run one time, after all IFDs have been generated. Although the IFD may have been generated, this does not necessarily mean that mantra has finished rendering the image when this command is run.
Driver
Strip Layers Above Layer Breaks
Enable this option to prevent layers authored above Layer Break nodes from being written to disk by this ROP. This allows a Layer Break node to dictate which portions of the LOP Network are to be saved. Disabling this option allows this behavior to be overridden, forcing the full stage authored by the LOP network to be written to disk. This may be used for debugging purposes, or to write a complete scene to disk for rendering.
Initialize Simulation OPs
Initialize DOP simulations before rendering.
Create Intermediate Directories
Create intermediate parent directories for output files as needed, such as for generated images.
Report Network Use
???
Abort Missing Texture
Enabling this option will cause karma to abort the render with an error if it encounters a missing texture map.
Block Until Render Completes
When sending the output to a command, turning on this parameter will force Houdini to block until karma finishes rendering the frame.
See also |