Houdini 20.5 Nodes Render nodes

Geometry Raw render node

Generates raw binary files from a SOP or DOP network.

On this page

Usually geometry data requires a specific format to fully represent the nature of the geometry. The Geometry ROP interfaces with many plugins and native formats to provide support for a lot of ways to save geometry. However, some systems just expect raw data. For these, the Geometry Raw output driver can dump point attributes, detail attributes, an volume data directly to a file to be read by other processes. This does require careful specification of exactly how it should be written.

Parameters

Save to Disk

Saves the geometry to disk with the last control settings.

Save to Disk in Background

Starts another copy of Houdini in the background and instructs that copy to cook and save the geometry. This allows one to continue working and load the .raw files as they complete.

Controls…

Opens the control dialog to allow adjustments of the render parameters before rendering.

Valid Frame Range

Controls whether this render node outputs the current frame or the image sequence specified in the Start/End/Inc parameters.

Render Current Frame

Export only the current frame.

Render Frame Range

Export the frames in the Start/End/Inc frame range, but also allow exporting of frames referenced by in-range frames.

Render Frame Range Only (Strict)

Only export the frames in the Start/End/Inc frame range. Do not allow exporting of other frames, including frames referenced by in-range frames.

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.

$NRENDER

The number of frames to be rendered by the output driver.

$N

The current frame being rendered (starting at 1 and going to $NRENDER).

Render with Take

Uses the settings in a particular take while rendering. Choose Current to use the current take when rendering.

SOP Path

The SOP node, object, or SOP subnet to render from.

Output File

The file to save the binary data to. The extension does not matter, so depends on what system will be reading it. Often .raw is used to make it clear it isn’t a defined format.

Transform

Specifies whether the geometry should be transformed into world space before written out.

File Layout

Endianness

The byte ordering of the raw data. Unless all the data is single bytes, you need to set this based on how the data was created. There is no way to tell what to set this to, other than knowing which “endian-ness” the program that created the data used, however “Little” (the default) is common on modern systems.

Little (Intel)

The least significant byte in a multi-byte number is first. This matches the normal memory layout of modern architectures (Intel and ARM), so it is commonly used.

Big (Network)

The most significant byte in a multi-byte number is first. This is sometimes called “network ordering” and is common in, but not limited to, network protocols.

While many know the story of Gulliver’s travels, of how the eponymous main character washed ashore of a land of little people, they may not recall why the nations of that island were at war. There was a schism about whether eggs should be cracked from their little side or the big side first.

A similar problem arose in the world of computer science. When storing a multi-byte value, do you store the big portion or the little portion first?

Number of Blocks

Block #

The name of the block. This becomes the attribute name for detail or point blocks, and the volume name for volume blocks. For a zero block it is a useful way to comment why the block exists.

Import Target

The source for the information for the block.

Zero

The block will be filled entirely with zeros.

Float

The provided float value will be repeated throughout the block.

Integer

The provided integer value will be repeated throughout the block.

Detail Attribute

The detail attribute matching the block name will be saved to the block.

Point Attribute

The point attribute matching the block name will be saved to the block.

Volume

The volume matching the block name will be saved to the block.

Tuple Size

The expected size of the detail attribute, point attribute, or tuplesize of the volume.

Type

The type of data stored in this block.

Float

Floating point values.

Integer

Integral values.

Precision

How many bits to store for each value.

8-bit

For integers this is an unsigned value from 0..255. For float, the unsigned value 0..255 will be fit to the floating point values 0..1.

16-bit

For integers, this is a signed value from -32768..32767. For float, this is either binary16 or bfloat16.

32-bit

For integers, this is a signed 32 bit value. For float, it is a binary32 floating point representation.

64-bit

For integers, this is a signed 64 bit value. For float, it is a binary64 floating point representation.

Use BFloat16

The usual 16-bit float representation, often called half, is binary16. This is used by OpenEXR and OpenVDB and internally in Houdini as a way to store floats in less space by reducing both the range and the precision.

BFloat16 is a truncated version of binary32 where the range remains unchanged, but the precision has been reduced to a mere 8-bits. This is commonly used in machine learning.

Collate with Previous

When a point block is saved to disk, it could either be interleaved with other point blocks or form its own contiguous block. If it is not marked as being collated, it will save its own contiguous block (possibly including any successive blocks that are marked as collated) If it is marked as collated, all the blocks that are collated together will be written in turn for each point before going to the next point.

Volume Order

Similar to endian-ness for binary numbers, there is disagreement about whether volume data should be X-axis first, or Z-axis first. If you are reading volume data, you need to set this based on the convention used by the program that created the data.

ZYX

The Z-axis is the outermost loop. Consecutive elements in the file will be consecutive X-values. This matches Houdini’s internal Volume layout.

XYZ

The X-axis is the outermost loop. Consecutive elements in the file will be consecutive Z-values. This matches OpenVDB’s internal volume layout.

Float Value

For float blocks, this value is written tuplesize number of times.

Integer Value

For integer blocks, this value is written tuplesize number of times.

Render Settings

Create Intermediate Directories

When turned on, creates intermediate parent directories for output files as needed. Currently only applies to generated scripts, images, and shadow maps.

Initialize Simulation OPs

Forces all simulation OPs to be reset. This includes DOP Networks, POP SOPs, and other OPs that cache their results.

This is the safest way to render out a simulation, because it starts the simulation from scratch and discards any partial simulations you might have done with different parameters.

Alfred Style Progress

A percentage complete value is printed out as files are written. This is in the style expected by Pixar’s Alfred render queue.

Report Network Use

The number of bytes sent or received by the distributed simulation primitives during the cooks triggered by this geometry output is printed.

This does not track use by, for example, saving a file to an NFS mount. It only tracks the network communication of nodes such as the Gas Net Exchange Border DOP.

Save Retries

If saving the geometry to disk fails due to a disk writing error, Houdini will usually error the output node immediately. This is desirable for most cases where a failure to save means an illegal path, which is not recoverable. However, sometimes files fail to save due to network issues. If the number of save retries is non-zero, Houdini will re-attempt to save this number of times. Each time will be accompanied with an output to the console of the failure to save and a five second wait in the hopes that the network will clear up.

Save in Background

When saving more than one frame, save in a background thread. This can make saving faster for large file sizes, but may use more memory since it will retain the output geometry until the save completes.

Scripts

A script command can be specified for execution at various execution points. The expression language selected for the script parameter determines whether the command is in hscript or python.

Prior to execution, this node is automatically set as the global current node.

To run statements from a file, specify the path to the file with either a .cmd extension (when the language is set to Hscript) or a .py extension (when the language is set to Python). Additional arguments to the script can also be supplied. They will be parsed in a shell-like manner.

Pre-Render Script

Run this script before any rendering.

Pre-Frame Script

Run this script before each frame.

Post-Frame Script

Run this script after each frame.

Post-Render Script

Run this script after all rendering.

Post-Write Script

Run this HScript after each frame’s data has finished writing to disk. This is always after the corresponding Post-Frame Script and always before the Post-Render script, but the order otherwise is undefined. When Save in Background is enabled this allows delaying script actions until the file has finished saving.

Locals

N

Frame being rendered.

NRENDER

Total number of frames being rendered.

See also

Render nodes

  • Agent

    This output operator is used to write agent definition files.

  • Alembic

    Exports the scene to an Alembic archive. Alembic is a common exchange format for moving geometry and animation between different 3D software packages.

  • Archive Generator

    Generates disk-based archives which can be used by either mantra or RIB renderers.

  • Bake Animation

    Bakes animation from object transforms and CHOP overrides.

  • Bake Texture

    Generates a texture map from one or more objects' rendered appearance.

  • Batch

    Renders the input ROP in a single batch job.

  • Channel

    The Channel output operator generates clip files from a particular CHOP.

  • Composite

    Renders images from a compositing network.

  • DSM Merge

    Merges two or more deep shadow/camera map files.

  • Dem Bones Skinning Converter

    Converts any non-changing topology deforming mesh sequence into a bone-based animation.

  • Dynamics

    Saves the state of a DOP network simulation into files.

  • Fetch

    Makes a dependency link to a ROP in a different network.

  • Filmbox FBX

    Exports entire scenes to FBX files.

  • Filmbox FBX Animation

    Export animation from geometry-based skeleton to an FBX file.

  • Filmbox FBX Character

    Export a skinned character with geometry-based skeleton to an FBX file.

  • Flipbook

    Render an image using the hardware-accelerated 3D viewport renderer.

  • Frame Container

    Prevents frame dependency changes in the contained nodes from affecting its inputs.

  • Frame Depedency

    Allows an output frame to depend on one or more input frames.

  • GLTF Character

  • Geometry

    Generates geometry files from a SOP or DOP network.

  • Geometry Raw

    Generates raw binary files from a SOP or DOP network.

  • HQueue Render

    HQueue, or Houdini Queue, is a distributed job scheduling system.

  • HQueue Simulation

    HQueue, or Houdini Queue, is a distributed job scheduling system.

  • Hair Card Texture

    Renders hair textures for use on hair cards.

  • Image

    Writes the output of a COP network to disk.

  • Karma

    Renders non-USD scenes using Houdini’s Karma renderer.

  • Labs 3D Facebook Image

    Quickly render a 3D scene to a 2.5D image that can be uploaded to Facebook.

  • Labs Flipbook Textures

    Renders, composites, and exports flipbook textures.

  • Labs JSON Exporter

    Export geometry attibutes to a JSON file.

  • Labs Marmoset Export

    The Marmoset Export ROP allows you to quickly generate an mview inside Houdini

  • Labs Niagara ROP

    Export point caches to be used with Unreal’s Niagara particle system.

  • Labs Sketchfab

    Uploads geometry to Sketchfab

  • Labs Vertex Animation Textures

    Exports a mesh and a set of textures to be used with a shader for complex real-time effects, such as: soft-body deformation, rigid-body dynamics, dynamically remeshed geometries, and particle sprites.

  • Labs ZibraVDB Compress (Alpha)

    Compresses an OpenVDB sequence and caches it to disk as a single file.

  • MDD Point Cache

    This output operator is used to write an MDD animation file.

  • Mantra

    Renders the scene using Houdini’s standard mantra renderer and generates IFD files.

  • Mantra Archive

    Generates disk-based archives which can be used by mantra.

  • Merge

    Merges several render dependencies into one.

  • Net Barrier

    Blocks the ROP network until synchronization occurs.

  • Null

    Does nothing.

  • OpenGL

    Render an image using the hardware-accelerated 3D viewport renderer.

  • Pre Post

    Renders ROPs before and after a main job.

  • Shell

    Runs an external command.

  • Subnetwork

    The SubNetwork output operator provides an easy way to manage large number of output operators.

  • Switch

    Renders one of several inputs.

  • Tractor

    Tractor is a program shipped out with Pixar’s distribution of RenderMan.

  • USD

    Renders a LOP network out to one or more USD files. This node is available as render node or as a LOP.

  • USD Render

    Renders an output image from the stage generated by a LOP network.

  • USD Stitch

    Merges USD files representing individual frames by composing them.

  • USD Stitch Clips

    Merges multiple value clips representing individual frames.

  • USD Zip

    Assembles USDZ archive files from existing USD files.

  • Wedge

    Re-renders the same ROP multiple times with different settings

  • Wren

    This output operator is used to drive the Wren rendering program.

  • glTF