On this page | |
Since | 20.0 |
This node configures Houdini Ocean Procedural primitives, which provide a render-time Ocean solution that saves disk-space and avoids texture baking. The procedural takes low-resolution input geometry and generates high-resolution geometry at render time by dicing and displacing the input to the specified resolution.
This dicing and displacement was previously performed in VEX, and was therefore only available in Mantra or Karma, limiting render-time ocean displacement to those renderers, with other renderers limited to baking per-frame textures. However, because the procedural now handles the dicing and displacement aspects of the ocean rendering process, any Solaris-compatible renderer can render fully displaced oceans without per-frame texture baking.
The basis of this procedural is the Remesh to Camera SOP followed by optional foam particle splatting, then displacing the geometry with the Ocean Sample Layers VOP.
Tips ¶
-
When using the Small Ocean or Large Ocean Ocean shelf tools inside the Solaris
/stage
context, the ocean proxy and render geometry will be created within the Houdini Ocean Procedural LOP itself, keeping all components within Solaris. -
After changing the parameters on the Ocean Spectrum SOP(s) that generate the ocean spectrum, you will need to re-save the spectra to a file for the renderer to pick up the changes, then press the Reload Geometry button.
-
The Preview Quality parameter controls the resolution of the ocean when previewed in the Solaris viewport with a Preview Houdini Procedurals LOP. The Dicing Quality parameter controls the resolution for a full-quality render via husk or the USD Render ROP.
Parameters ¶
Primitive Path
The scene graph path at which to create the ocean procedural prim.
Spectrum ¶
Spectrum File
The location of the ocean spectrum file, containing one or more ocean spectra as created the by the Ocean Spectrum SOP.
Mask File
An optional animated file sequence of mask geometry that can be used to mask the ocean displacement, often created by the Particle Fluid Mask SOP and set up by the Ocean Flat Tank or Guided Ocean Layer shelf tools.
Time
The time at which the ocean surface should be evaluated.
Reload Geometry
Force a reload of the Spectrum File geometry, which will refresh any previews of the ocean after a change to the spectrum file on disk,
Geometry ¶
Render Geometry
The path to the geometry that will be diced and displaced by the procedural.
Group
The primitive group on the Render Geometry that should be diced and displaced.
Reference Render Geometry as Interior
Create a second USD reference to the Render Geometry that will be rendered as the ocean interior, usually using a uniform volume material to give the appearance of depth falloff within the ocean volume.
Preview Quality
The dicing resolution for the procedural when previewing the ocean in the Solaris viewport with a Preview Houdini Procedurals LOP.
Note
The full render quality is controlled by the main Dicing Quality parameter.
Dicing ¶
Camera LOP Path
Path to the camera primitive source LOP Node.
Camera Prinitive Path
The camera primitive used for dicing and rendering the ocean.
Dicing Quality
The dicing resolution of the procedural. A setting of 1 generally gives full resolution, but can be increased for more detail. If you only require more detail at the horizon, consider increasing Z Importance instead.
Geometry Z Measure
The space in which the diced ocean geometry’s z-coordinate should be projected before measuring if it meets the Dicing Quality criterion. The x and y coordinates are always in pixel space, but the z coordinate along the camera direction can be in a different space.
Camera Space
The z coordinate is mapped to camera space, and its value will range 0
to (camera_far - camera_near)
. This mapping works well for most small to medium-scale scenes, and retains good detail at the horizon. However, for very large camera distances, it can lead to excessive dicing and memory usage as the geometry becomes very stretched at the horizon.
Pixel Space
The z coordinate is mapped to pixel space, and its value will range from 0
to max(xres, yres)
. This mapping gives more consistent dicing across widely varying scales, but might require increasing Z Importance for long camera views to keep sufficient horizon detail.
Z Importance
A scale on the mapping specified in the Geometry Z Measure parameter. Increasing this value will increase detail at distance along the horizon, generally with lower memory usage than increasing the overall Dicing Quality.
Resolution
The resolution of the image to be rendered by the Camera.
Screen Window Size
The size of the screen window. Increasing this value will extend the subdivision to the offscreen area, which is especially useful if the resulting geometry might be displaced horizontally into view.
Downsample
Downsample the incoming ocean spectra before evaluating any ocean values. This parameter specifies the number of powers of two to remove from the resolution of the incoming ocean spectrum. For example, if the spectrum was originally specified at resolution 10 to generate a 1024 x 1024 volume, downsampling by 2 will evaluate ocean volumes at resolution 8, a 256 x 256 volume.
Anti-Alias Blur
A scale on the polygon size before measuring against wavelength for anti-aliasing. Decrease its value to reduce the amount of downsampling done, or set to zero to disable completely.
Verbose
Output statistics to the console about ocean dicing, displacement, and foam splatting.
Shading ¶
Surface Material
The material applied to the surface render geometry. The default material is a MaterialX shader that will work with many renderers that support MaterialX.
Interior Material
The material applied to the interior ocean volume, usually rendered as a uniform volume to emulate depth falloff beneath the surface of the water. The default material will work with Karma CPU and XPU.
Proxy Material
The material used for viewport display of the ocean surface, with some features like refraction disabled.
Point Velocity
Generate a velocities
primvar that can be used for shading or motion blur.
Cusp Min/Max
When enabled, the procedural will generate a cusp
primvar that can be used for shading and/or displacement of the procedural surface. The Cusp Min/Max parameter remaps the specified cusp range to 0-1.
Cusp Gamma
Applies a gamma curve to the cusp value after remapping according to Cusp Min/Max.
Cusp Intensity
A multiplier applied to the cusp value after remapping and gamma scaling.
Foam Particles
An optional animated file sequence of foam particles that can be used to create a foam
primvar on the ocean for shading and/or displacement of the procedural surface.
Foam Pattern ¶
If the Foam Particles parameter is set, these parameters control generation of a foam
primvar from the foam particles that can be used in shading and displacement. These foam particles are typically created using the Ocean Foam SOP.
Radius Scale
A scale on the particle radius applied before looking up foam particles around a shading point. Increase this value and decrease Alpha to smooth out the look of the foam.
Alpha
The amount of opacity each particle will contribute. Increase this value for a thicker foam layer.
Filter Width
How much to filter the streak pattern to avoid aliasing artifacts when viewed from a distance.
Foam Min/Max
When enabled, the procedural will generate a foam
primvar that can be used for shading and/or displacement of the procedural surface. The Foam Min/Max parameter remaps the specified foam range to 0-1.
Foam Gamma
Applies a gamma curve to the foam value after remapping according to Foam Min/Max.
Foam Intensity
A multiplier applied to the foam value after remapping and gamma scaling.
Streaks ¶
Direction
The direction in which to stretch the Frequency to stretch out the foam in that direction. Setting this to the prevailing wind direction or wind direction plus 90 degress can give interesting effects.
Bias
The amount of Frequency stretching to do along the streak Direction.
Sharpness
How sharp the edges of the foam are. High values will create a sharper more web-like pattern, low values will create a softer, rounder pattern.
Frequency
The frequency of the streak pattern.
Offset
How much to offset the streak pattern.
Bubbles ¶
Frequency
The frequency of the bubble pattern.
Offset
How much to offset the bubble pattern.
Displacement ¶
Cusp Displacement
The diced ocean surface will be displaced in the normal direction by the output cusp
primvar scaled by this amount.
Foam Displacement
The diced ocean surface will be displaced in the normal direction by the output foam
primvar scaled by this parameter.