RmanPtcSop

Overview

The RmanPtcSop project is a Houdini geometry operator (SOP) for loading and displaying RenderMan point clouds. It is based on the open source dnPtcViewerNode project from Double Negative Visual Effects.

rmanPtc_sop.png

Features of the rmanPtc SOP include:

The code is freely available from http://github.com/danbethell/rmanptcsop and is released under the New BSD license. See COPYING for more details.

For information on building and installing the Houdini plugin see the Building & Installation page.

rmanPtc_grab1.jpg

RenderMan® is a registered trademark of Pixar.
Houdini® is a registered trademark of Side Effects Software.

Loading Point Clouds

Point clouds can be very large and loading is the most expensive (i.e. slowest) part of the process so it's a good idea to avoid reloading of the point cloud unless necessary.

The point cloud is reloaded when any of these occurs:

RmanPtcSop uses a probability-based method for loading a percentage of the cloud into memory. This has the advantage of always generating an even distribution of points throughout the cloud but does require the entire cloud to be read from disk each time. That means that regardless of the Load % parameter the load time is constant for a particular ptc file.

load100percent.jpg

100% Loaded

load5percent.jpg

5% Loaded

Point Cloud Information

A variety of information is available about the point cloud via the node's MMB information area. In addition to the normal Houdini geometry information you can see the total number of points in the cloud, how many are loaded into memory and the channels stored in the cloud.

ptc_info.jpg

Display Options

RmanPtcSop has separate controls for the points loaded into memory and those dislayed in the viewport. This allows for fast control of the Display / Output % parameter. This parameter is based on a percentage of those loaded into memory, so if Load % and Display / Output % are both set to 10 then 10% of the point cloud will be loaded into memory and 10% of those will be displayed (i.e. 1% of the total points). The display percentage is also probability-based which means you get an even distribution of points throughout the cloud.

The OpenGL display preview will colour the points based on the selected Display Channel parameter. By default the points are drawn as 1-pixel points but you can change their size by using the Point/Disk Size parameter. You can also display the points as normal-aligned disks by turning on the Display Disks parameter. Disk size is also controlled by the Point/Disk Size parameter but is also affected by the radius attribute of the point.

point_size.jpg

Points

disk_preview.jpg

Disks

Display & Geometry Output

In addition to the OpenGL preview, any display points are output from the node as native Houdini point geometry. The node outputs position (P), normal (N) and radius for each point as well as the value of the selected display channel. You can output all channel information for each point by turning off the Output Display Channel Only parameter.

ptc_spreadsheet.jpg

Bounding Point Clouds

RmanPtcSop has a reference input for specifying an axis-aligned bounding box for the point cloud. By default this culls the display/output points allowing you to quickly isolate a particular area of the cloud. By turning on the Bound On Load parameter the bounding box instead culls the points before they are loaded into memory. This can dramatically improve performance for spatially-large point clouds but if the bounding box input changes then the entire point cloud will be reloaded.

bbox_input.jpg

Hints & Tips

Authors

Thanks


Generated on Mon Feb 1 11:57:25 2010 for RmanPtcSop by  doxygen 1.6.1