codecamp

three.js VideoTexture

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

注意:初次使用纹理后,无法更改视频。相反,在纹理上调用 .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


three.js Texture
动画
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

参考

核心 / BufferAttributes

渲染器 / WebXR

开发者参考

WebGL渲染器

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }