SphereGeometry
Quick answer
SphereGeometry builds a sphere from latitude and longitude segments, with optional phiStart, phiLength, thetaStart, and thetaLength to carve hemispheres, caps, or bands. UVs map longitude to u and latitude to v, so ordinary equirectangular textures wrap correctly. Choose 16 by 8 for distant markers and 64 by 32 or higher for close globes.
new THREE.SphereGeometry ( radius , widthSegments , heightSegments , phiStart , phiLength , thetaStart , thetaLength )
Key points
- widthSegments and heightSegments must be at least 3 and 2 respectively.
- thetaStart 0 begins at the north pole; thetaLength Math.PI covers the full latitude range.
- phiLength below 2π produces a partial sphere useful for domes and wedges.
Example
const globe = new THREE.Mesh(
new THREE.SphereGeometry(100, 64, 32),
new THREE.MeshStandardMaterial({
map: earthTexture,
roughness: 0.9,
metalness: 0
})
);
scene.add(globe);
const dome = new THREE.Mesh(
new THREE.SphereGeometry(60, 48, 16, 0, Math.PI * 2, 0, Math.PI / 2),
new THREE.MeshBasicMaterial({
color: 0x6f9ed8,
side: THREE.DoubleSide,
transparent: true,
opacity: 0.35
})
);
dome.position.y = 0;
scene.add(dome);
Notes
- Viewing from inside needs side: THREE.BackSide or the surface is culled.
- Very low segment counts make silhouette edges visibly polygonal.
English edition written for Atlaslog. Code is taken from the original Chinese page and runs unchanged.
Atlaslog (2026). SphereGeometry. https://www.jingweizhi.com/en/three/api/sphere-geometry.html (accessed 2026-11-03).