📄 threejs/Core/Materials/PointsNodeMaterial

File: PointsNodeMaterial.md | Updated: 11/15/2025


title: PointsNodeMaterial category: Core layout: docs

PointsNodeMaterial

Node material version of PointsMaterial.

This material can be used in two ways:

  • By rendering point primitives with Points. Since WebGPU only supports point primitives with a pixel size of 1, it's not possible to define a size.

  • By rendering point primitives with Sprites. In this case, size is honored, see PointsNodeMaterial#sizeNode.

    const instancedPoints = new THREE.Sprite( new THREE.PointsNodeMaterial( { positionNode: instancedBufferAttribute( positionAttribute ) } ) );

Code Example

const pointCloud = new THREE.Points( geometry, new THREE.PointsNodeMaterial() );

Constructor

new PointsNodeMaterial( parameters : Object )

Constructs a new points node material.

parameters | The configuration parameter.
---|---

Properties

.alphaToCoverage : boolean

Whether alpha to coverage should be used or not.

Default is true.

Overrides: SpriteNodeMaterial#alphaToCoverage

.isPointsNodeMaterial : boolean (readonly)

This flag can be used for type testing.

Default is true.

.sizeNode : Node.<vec2>

This node property provides an additional way to set the point size.

Note that WebGPU only supports point primitives with 1 pixel size. Consequently, this node has no effect when the material is used with Points and a WebGPU backend. If an application wants to render points with a size larger than 1 pixel, the material should be used with Sprite and instancing.

Default is null.

Source

src/materials/nodes/PointsNodeMaterial.js