Points - Arnold User Guide

SSS is not supported for points (only poly meshes).
Points Data
Mode
Choose to render points as disks, spheres, or quads (rectangles).
![]() |
![]() |
![]() |
disks | spheres | quads |
Min Pixel Width
If this value is non-zero, points with a small on-screen width will be automatically enlarged so that they are at least the specified size in pixels. The enlargement fraction is then used in the point shader to adjust the opacity so that the visible thickness of the point remains the same. For a given number of AA samples, this makes it a lot easier to anti-alias very small points, at the expense of render time (because of the additional transparency/depth complexity). Good values are in the range of 0.2 to 0.7. Values closer to 0 are faster to render but need more AA samples. So if your scene already uses very high AA settings, you should use a low value like 0.1.
Min Pixel Width doesn't work on points with varying radius over time (which is the case when motion blur is enabled). Also, for the automatic transparency to work, it needs a special material that supports the internal geo_opacity shader such as the Standard Hair shader.
![]() |
![]() |
![]() |
1 | 5 | 10 |
Min Pixel Width doesn't work on points with varying radius over time (which is the case when motion blur is enabled). Also, for the automatic transparency to work, it needs a special material that supports the internal geo_opacity shader such as the Standard Hair shader.
Volumes
Volume Step Size
Points switch to rendering in volume mode when using this attribute. This controls the rate at which the volume shader gets called. The value indicates the average distance between adjacent volume shader samples along a given ray, in world space units. Generally, you will want this setting to be as large as possible before visibly noticeable artifacts occur, and in the case of voxelized volumes no smaller than about half the size of your voxels (in world space). A low Step Size will increase render times. For example, when the Step Size is 0.1 and the volume is 10 units big in world space, there are approximately 100 primary samples and therefore the volume shader is called 100 times.
![]() |
![]() |
Volume Step Size: 0.1 | Volume Step Size: 1 |
Noise -> Scattering & Attenuation of Standard Volume
The volume Step Size has a fixed size, therefore, the larger the container the more steps will be taken and the longer it will take to render. Also, beware that if the Step Size is too small your render times will increase. If you cannot see anything rendered, you may need to reduce the Step Size value.
VDB Data
You can use a points node to load OpenVDB points, complete with automatic attribute mapping to position, radius and velocity; motion blur, and additional attributes as user data.
You can set up VDB points with the Arnold API, or with an ass file. For example, this ass file uses the bunny_points example from the OpenVDB downloads.
points
{
name bunny
file_name C:/downnloads/bunny_points.vdb-1.0.0/bunny_points.vdb
# Grid name must be set correctly
file_grid "points"
# These are inferred automatically
# file_attribute_point "P"
# file_attribute_radius "pscale"
# file_attribute_velocity "v"
file_velocity_scale 2.0
# Radius is provided by the VDB file; if it were missing, we'd set this
radius 1 1 FLOAT 0.01
shader openPBRSurface1
mode sphere
}
openpbr_surface
{
name openPBRSurface1
base_color aiUserDataColor1
geometry_normal 1 1 1
geometry_tangent 1 1 1
}
user_data_rgba
{
name aiUserDataColor1
attribute "Cd"
default 0 1 0 1
}
00:00:15 3419MB | [volume] searching OpenVDB file: C:/downloads/bunny_points.vdb-1.0.0/bunny_points.vdb
00:00:15 3419MB | [volume] found grid "points"
00:00:16 3480MB | [points] bunny: VDB point count: 48276957
00:00:16 3480MB | [points] bunny: VDB vec3s attribute loaded as user data: Cd
00:00:16 3480MB | [points] bunny: VDB vec3s attribute loaded as user data: N
Name
file_name: Path to a VDB file containing OpenVDB points.
Data
file_data: Buffer containing contents of a VDB file with OpenVDB points.
Compress
file_compress: Compress VDB data in memory while loading points.
Grid
file_grid: Name of the points grid in the VDB file.
Attributes
file_attribute_point: Attribute name in points grid containing the point positions.
file_attribute_radius: Attribute name in the points grid containing the radius (scale).
file_attribute_velocity: Attribute names in the points grid containing the point velocities.
Velocity
file_velocity_scale: Scale factor to apply to the point velocities from the grid.
file_velocity_fps: Expected frames-per-second for the point velocities from the grid.