Lops and setting 'outputimage'

   4584   8   0
User Avatar
Member
10 posts
Joined: April 2017
Offline
All this USD stuff is new and exciting to us, but we see huge potential. I just need a few tips to keep moving forward.

I'm trying to set all the attributes in a USD for rendering (for redshift, but it doesn't really matter what renderer, I'm just trying to set the default USD parameters without dealing with specific renderer options at this point.)

What is the correct way to set the outputimage attribute without using the Karma specific nodes or the USD rop? I'm not looking to override the outputimage with the usd rop, I'd like to set it properly in the usd composed scene using:

render settings
render product
and rendervars.

I can add it as a path in the renderproduct, but then I'm not sure how to configure the required rendervar node. What do I enter into the source line in the rendervar to pull the generic rgba plane? IS there a list of the generic options here? Like P Z N RGBA….

I'd love a screenshot or a hipfile that shows how to set these GENERIC usd settings without getting into anything karma specific. Just the suggested workflow to set the USD parameters for render paths.

The goal would be to hopefully take the resulting USD and feed it to redshift with a commandline to render on the farm, so it needs to contain everything inside instead of last minute overrides.

Thanks.
User Avatar
Member
10 posts
Joined: April 2017
Offline
Reading out what the karma settings attributes use offer some clues.

Looks like C or C.* Is what I need for the rendervar source. But if I render it throws a karma error saying it's looking for Cf.

Any primers here would be appreciated.
User Avatar
Member
8041 posts
Joined: Sept. 2011
Offline
Render Vars are all renderer-specific AFAIK. I'm not sure what the generic rgba plane is. However you can create a render settings prim without any render products. The render settings lets you specify the resolution and camera, and then use the output override path the specify the path.

For renderman and RPR, I got a render var to work for the beauty with these settings:
{
dataType: float4
sourceName:
sourceType: Raw
Name: “color”
Format: half4
}
The source name doesn't seem to matter. This setting doesn't work with Karma, which requires an LPE of C.* to get the beauty.
User Avatar
Member
10 posts
Joined: April 2017
Offline
Thanks for the info. I've managed to build a .usd that I can render in both redshift and karma targeting different rendersettings lops in the husk commandline. All working well and the rendervar for ‘color’ using C.* and LPE works for both.

So major testing can begin. It's super awesome that this eliminates the ifd job on the farm, and that the usd can be used for all the timesamples.

Not I just need to figure out how to setup all the redshift Z N P and all the other AOV's. And for that I'm off to the Redshift forum. Thanks.

One last thing. I was kind of hoping to also be able to use husk and render GL… but so far thats not working.
User Avatar
Member
8041 posts
Joined: Sept. 2011
Offline
I also was hoping husk would be able to work with storm, as I thought husk was hydra based.

Husk won't work with HoudiniGL, since the houdiniGL delegate is just a translation layer to Houdini's native viewport.
User Avatar
Staff
4523 posts
Joined: July 2005
Offline
I believe Storm has, in recent USD updates, gained the ability to render to Hydra Render Buffers (rather than rendering directly to the viewport). So it might be posible to get Storm to work with Husk, but as @jsmack says, Houdini GL uses a vastly different approach to rendering that is tied very tightly to the Houdini viewport, and so will always rely on the OpenGL ROP. We might be able to make an HDA that wraps a USD Render and and OpenGL ROP, but I'm not sure how similar their interfaces are, so you might end up with a really ugly parameter interface that changes completely depending on which render delegate you choose…
User Avatar
Member
10 posts
Joined: April 2017
Offline
I'm hoping storm can be made to work.

But if you fire husk from command line all the options are suggested… In red. So I'd expect them to work. Sidefx should remove the -R Gl and glhoudini options if they cannot be used.
User Avatar
Member
8041 posts
Joined: Sept. 2011
Offline
Where do you see the renderer options?

Usage: husk [options] usdfile

Information:
  -h [ --help ]                      Show this help
  -v [ --version ]                   Print the renderer version

Karma Specific Options:
  --properties                       Print all rendering properties and their
                                     defaults
  --property-definitions             Print full information about properties
  --procedurals                      Print all procedural definitions
  --filters                          Print all filters/oracles
  -p [ --pixel-samples ] arg (=128)  Samples per pixel
  --tile-size arg (=128)             Tile size
  --disable-lighting                 Disable all lighting
  --ao-samples arg (=0)              Headlight shading: Ambient occlusion
                                     samples
  --ao-distance arg (=1)             Headlight shading: Ambient occlusion
                                     distance cutoff
  --lock-random arg (=0)             Lock the random number instead of using
                                     the render frame
  --dicingcamera arg                 Dice from the specified camera. Uses
                                     render camera if unspecified.
  --optimize-offline arg (=0)        Offline optimization level
                                       - 0 = Disable optimization
                                       - 1 = Disable for multi-frame renders
                                       - 2 = Force optimization for all renders
                                     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.

USD Options:
  --usd-input arg                    The USD file for the scene
  --list-cameras                     List all cameras in the USD file
  --purpose arg (=geometry,render)   Specify the purpose for rendering.  This
                                     is a comma separated list of purposes
                                     (from {'geometry', 'guide', 'proxy',
                                     'render'}).
  --complexity arg (=veryhigh)       Specify geometric complexity ({'low',
                                     'medium', 'high', 'veryhigh'})
  -s [ --settings ] arg              Render using properties defined by node.
                                     You can specify a path relative to
                                     /Render.

Render Settings Overrides:
  -c [ --camera ] arg                Render from the specified camera
  -o [ --output ] arg                Output image.  Variables are expanded in
                                     the string can be represented in various
                                     ways:
                                       - $F, $FF $F4:  Current frame number
                                       - $N:  The N'th frame in the sequence
                                       - <F>, <FF>, <F4>:  Frame (<UDIM> style)
                                       - %d, %g, %04d:  Frame (printf style)

  -r [ --res ] arg                   Image resolution (width and height)
  --pixel-aspect arg (=1)            Pixel aspect ratio

Frame Range:
  -f [ --frame ] arg (=1)            The start frame for rendering
  -n [ --frame-count ] arg (=1)      The number of frames to render
  -i [ --frame-inc ] arg (=1)        The frame increment

Rendering:
  -R [ --renderer ] arg              Choose an alternate Hydra head
  -j [ --threads ] arg (=0)          Thread count
                                     '-j 0' uses all processors
                                     '-j 4' uses four processors
                                     '-j -1' uses all processors but one.
  --fast-exit arg (=1)               Turn off to force a full tear-down of the
                                     USD scene and Hydra.
  --checkpoint arg (=-1)             Checkpoint partial image after this number
                                     of seconds.  At the current time,
                                     checkpointed renders cannot be resumed.
  --exrmode arg (=1)                 OpenEXR saving mode:
                                      -1 Use HOUDINI_OIIO_EXR variable
                                       0 Classic driver (HOUDINI_OIIO_EXR=0)
                                       1 Improved driver (HOUDINI_OIIO_EXR=1)

  --timelimit arg (=-1)              Limit rendering time to this number of
                                     seconds
  --timelimit-image                  Time limit applies to images rather than
                                     the whole sequence
  --timelimit-nosave-partial         If time limit is exceeded, do not save
                                     partial results
  -V [ --verbose ] arg               Render verbosity (e.g. -Va2)
                                       0-9  Verbosity of rendering statistics
                                       p    Enable VEX profiling
                                            (impacts performance)
                                       P    Enable VEX profiling and NAN checks
                                            (severe impact on performance)
                                       a/A  Turn on/off Alfred style progress
                                       t/T  Turn on/off message time stamps

Note:
    Sending the husk process a USR1 signal will trigger saving a
    checkpoint image
User Avatar
Member
10 posts
Joined: April 2017
Offline
They get echoed into the terminal (in my case I was trying to use the redshift plugin and I hadent set the paths properly beforehand. So husk dumped a bunch of options as suggestions.
  • Quick Links