three.js VideoTexture

2023-02-16 17:49 更新

创建一个使用视频来作为贴图的纹理对象。

注意:初次使用纹理后,无法更改视频。相反,在纹理上调用 .dispose() 并实例化一个新纹理。

代码示例

// assuming you have created a HTML video element with id="video"
const video = document.getElementById( 'video' );
const texture = new THREE.VideoTexture( video );

例子

materials / video
materials / video / webcam
video / kinect
video / panorama / equirectangular
vr / video

构造函数

VideoTexture( video : Video, mapping : Constant, wrapS : Constant, wrapT : Constant, magFilter : Constant, minFilter : Constant, format : Constant, type : Constant, anisotropy : Number )

video -- 将被作为纹理贴图来使用的Video元素。

mapping -- 纹理贴图将被如何应用(映射)到物体上,它是THREE.UVMapping中的对象类型。 

wrapS -- 默认值是THREE.ClampToEdgeWrapping. 

wrapT -- 默认值是THREE.ClampToEdgeWrapping. 

magFilter -- 当一个纹素覆盖大于一个像素时,贴图将如何采样。 其默认值为THREE.LinearFilter。

minFilter -- 当一个纹素覆盖小于一个像素时,贴图将如何采样。 其默认值为THREE.LinearFilter。

format -- The default is THREE.RGBAFormat. 

type -- 默认值是THREE.UnsignedByteType. 

anisotropy -- 沿着轴,通过具有最高纹素密度的像素的采样数。 默认情况下,这个值为1。设置一个较高的值将会比基本的mipmap产生更清晰的效果,代价是需要使用更多纹理样本。 使用renderer.getMaxAnisotropy() 来查询GPU中各向异性的最大有效值;这个值通常是2的幂。

属性

共有属性请参见其基类Texture。

.generateMipmaps : Boolean

是否生成 mipmap。默认为假。

.isVideoTexture : Boolean

只读标志,用于检查给定对象是否属于 VideoTexture 类型。

.needsUpdate : Boolean

在这里,你不必手动设置这个值,因为它是由update()方法来进行控制的。

方法

共有方法请参见其基类Texture。

.update () : undefined

在每一次新的一帧可用时,这个方法将被自动调用, 并将 .needsUpdate : Boolean设置为true。

源代码

src/textures/VideoTexture.js


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号