Houdini 13.0 Nodes

interface version 1

Projection of 3D geometry to a perspective camera plane.

The two inputs required are a source geometry and a perspective camera.

Parameters

Camera

The (perspective) camera to use for the projection.

Near, Far Clipping

Depth clipping distances. Geometry outside of these will be clipped and not be projected.

Overscan

Scale values of the camera plane (2D). They can be used to provide an additional 2D margin, if necessary.

Accurate Clipping

If enabled, near/far clipping is performed using Clip SOPs. This can be useful if the geometry has low resolution, or very accurate 2D contours are desired in the projected results.

Keep Points Only

Delete all but the points from the source geometry. This might help conserve resources with heavy input geometry.

Keep Unprojectables

After projection, do not delete geometry points that couldn’t be projected.

(This is mostly for purposes of “debugging” the projection. Normally it should be disabled, as it interferes with proper 2d projection.)

Projection Blend

This blends the Projected Geo between its original and fully projected state.

Note that this settings has to be (or very near) to 1.0 to get accurate 2d results.

2d Padding

An additional padding (2D) applied to the boundary rectangle only.

Output Space

Coordinate space of the projection results.

Object Space

The resulting geometry will assume the transformations of the camera, ending up the expected object (world) space position.

Camera Space

The resulting geometry will be generated in camera local space (it will not contain any transformations from the camera).

In this space, the camera is assumed to be at the origin, looking down the -Z axis.

Output Geometry Groups

These settings specify which geometry and attribute components should be output. Geometry components are returned as primitive groups.

2D Position Attribute

Name of the normalized 2D (screen space) coordinates attribute (generated as a result of the projection).

2D Bounds

Geometry representing the 2d bounding rectangle of the projection results.

Projected Geo

The projected geometry itself.

Camera Plane

The camera plane the geometry was projected on.

Pre-projection Geo

The geometry as it was right before the projection (but after preprocessing – clipping, etc.)

2D Boundary Values

These fields describe the resulting 2d bounding rectangle. They can be used for linking to other parameters, expressions, etc.

Overall validity

It has the value of 1 if the projection has valid 2d bounding box results. (All resulting values are invalid otherwise.)

Box Min, Max

Normalized screen-space coordinates of the corners of the 2d bounding box.

They're only valid if Overall Validity is non-zero.

Coverage

Percentage of how much the 2d bounding box covers screen space. Value of 1.0 means the entire screen is covered, 0.0 is for the geometry not visible at all.

Checkbox (“Editable”)

Allows to edit the bounding box output-expressions. (Normally there’s no need to do that.)

Todo

  • Extend Accurate Clipping to use Clip SOPs for all sides of the frustrum

  • 2d positions (uv) should be much better “normalized” regardless of overscan/padding settings

Release Notes

interface version 1

2013-08-18

First version.