File: VideoTexture.md | Updated: 11/15/2025
A texture for use with a video.
Note: When using video textures with WebGPURenderer, Texture#colorSpace must be set to THREE.SRGBColorSpace.
Note: After the initial use of a texture, its dimensions, format, and type cannot be changed. Instead, call Texture#dispose on the texture and instantiate a new one.
// assuming you have created a HTML video element with id="video"
const video = document.getElementById( 'video' );
const texture = new THREE.VideoTexture( video );
Constructs a new video texture.
video | The video element to use as a data source for the texture.
---|---
mapping | The texture mapping. Default is Texture.DEFAULT_MAPPING.
wrapS | The wrapS value. Default is ClampToEdgeWrapping.
wrapT | The wrapT value. Default is ClampToEdgeWrapping.
magFilter | The mag filter value. Default is LinearFilter.
minFilter | The min filter value. Default is LinearFilter.
format | The texture format. Default is RGBAFormat.
type | The texture type. Default is UnsignedByteType.
anisotropy | The anisotropy value. Default is Texture.DEFAULT_ANISOTROPY.
Whether to generate mipmaps (if possible) for a texture.
Overwritten and set to false by default.
Default is false.
Overrides: Texture#generateMipmaps
This flag can be used for type testing.
Default is true.
This method is called automatically by the renderer and sets Texture#needsUpdate to true every time a new frame is available.
Only relevant if requestVideoFrameCallback is not supported in the browser.