📄 threejs/Core/Cameras/CubeCamera

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


title: CubeCamera category: Core layout: docs

CubeCamera

A special type of camera that is positioned in 3D space to render its surroundings into a cube render target. The render target can then be used as an environment map for rendering realtime reflections in your scene.

Code Example

// Create cube render target
const cubeRenderTarget = new THREE.WebGLCubeRenderTarget( 256, { generateMipmaps: true, minFilter: THREE.LinearMipmapLinearFilter } );
// Create cube camera
const cubeCamera = new THREE.CubeCamera( 1, 100000, cubeRenderTarget );
scene.add( cubeCamera );
// Create car
const chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeRenderTarget.texture } );
const car = new THREE.Mesh( carGeometry, chromeMaterial );
scene.add( car );
// Update the render target cube
car.visible = false;
cubeCamera.position.copy( car.position );
cubeCamera.update( renderer, scene );
// Render the scene
car.visible = true;
renderer.render( scene, camera );

Constructor

new CubeCamera( near : number, far : number, renderTarget : WebGLCubeRenderTarget )

Constructs a new cube camera.

near | The camera's near plane.
---|---
far | The camera's far plane.
renderTarget | The cube render target.

Properties

.activeMipmapLevel : number

The current active mipmap level

Default is 0.

.coordinateSystem : WebGLCoordinateSystem | WebGPUCoordinateSystem

The current active coordinate system.

Default is null.

.renderTarget : WebGLCubeRenderTarget

A reference to the cube render target.

Methods

.update( renderer : Renderer | WebGLRenderer, scene : Scene )

Calling this method will render the given scene with the given renderer into the cube render target of the camera.

renderer | The renderer.
---|---
scene | The scene to render.

.updateCoordinateSystem()

Must be called when the coordinate system of the cube camera is changed.

Source

src/cameras/CubeCamera.js