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.
Features of the rmanPtc SOP include:
For information on building and installing the Houdini plugin see the Building & Installation page.
RenderMan® is a registered trademark of Pixar.
Houdini® is a registered trademark of Side Effects Software.
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.
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.
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.
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.
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.