A class for generating a two-dimensional ring geometry.

Code Example

const geometry = new v3d.RingGeometry(1, 5, 32); const material = new v3d.MeshBasicMaterial({ color: 0xffff00, side: v3d.DoubleSide }); const mesh = new v3d.Mesh(geometry, material); scene.add(mesh);


RingGeometry(innerRadius : Float, outerRadius : Float, thetaSegments : Integer, phiSegments : Integer, thetaStart : Float, thetaLength : Float)

innerRadius — default is 0.5.
outerRadius — default is 1.
thetaSegments — number of segments. A higher number means the ring will be more round. Minimum is 3. Default is 32.
phiSegments — minimum is 1. Default is 1.
thetaStart — starting angle. Default is 0.
thetaLength — central angle. Default is 2π (2*Math.PI).

Procedural geometry is fun. However, in real life applications this feature is rarely needed. It would be more efficient do design rings in the preferred modelling suite and export/load to Verge3D via glTF.


See the base BufferGeometry class for common properties.

.parameters : Object

An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.


See the base BufferGeometry class for common methods.


For more info on how to obtain the source code of this module see this page.