[page:VideoTexture] →

视频帧纹理([name])

此类可用作定义视频数据的另一种方式。与 `VideoTexture` 类似,[name] 不需要使用 `HTMLVideoElement` 实例,而是需要通过 [page:.setFrame setFrame]() 手动定义每一帧。 此模块的一个典型用例是使用 WebCodecs API 解码视频帧。

代码示例

const texture = new THREE.VideoFrameTexture(); texture.setFrame( frame );

例子

[example:webgpu_video_frame video / frame]

构造函数

[name]( [param:Constant mapping], [param:Constant wrapS], [param:Constant wrapT], [param:Constant magFilter], [param:Constant minFilter], [param:Constant format], [param:Constant type], [param:Number anisotropy] )

[page:Constant mapping] -- 纹理贴图将被如何应用(映射)到物体上,它是[page:Textures THREE.UVMapping]中的对象类型。 请参阅[page:Textures mapping constants](映射模式常量)来了解其他选项。
[page:Constant wrapS] -- 默认值是[page:Textures THREE.ClampToEdgeWrapping]. 请参阅[page:Textures wrap mode constants](包裹模式常量)来了解其他选项。
[page:Constant wrapT] -- 默认值是[page:Textures THREE.ClampToEdgeWrapping]. 请参阅[page:Textures wrap mode constants](包裹模式常量)来了解其他选项。
[page:Constant magFilter] -- 当一个纹素覆盖大于一个像素时,贴图将如何采样。 其默认值为[page:Textures THREE.LinearFilter]。请参阅[page:Textures magnification filter constants](放大滤镜常量)来了解其它选项。
[page:Constant minFilter] -- 当一个纹素覆盖小于一个像素时,贴图将如何采样。 其默认值为[page:Textures THREE.LinearFilter]。请参阅[page:Textures minification filter constants](缩小滤镜常量)来了解其它选项。
[page:Constant format] -- 默认值是 [page:Textures THREE.RGBAFormat]。 请参阅[page:Textures format constants](格式常量)来了解各个选项。
[page:Constant type] -- 默认值是 [page:Textures THREE.UnsignedByteType]. 请参阅[page:Textures type constants](类型常量)来了解其他选项。
[page:Number anisotropy] -- 沿着轴,通过具有最高纹素密度的像素的采样数。 默认情况下,这个值为 `1`。设置一个较高的值将会比基本的mipmap产生更清晰的效果,代价是需要使用更多纹理样本。 使用[page:WebGLrenderer.getMaxAnisotropy renderer.getMaxAnisotropy]() 来查询GPU中各向异性的最大有效值;这个值通常是2的幂。

属性

共有属性请参见其基类[page:VideoTexture VideoTexture]。

[property:Boolean isVideoFrameTexture]

只读属性,用于检查给定对象是否为 [name] 类型。

方法

共有方法请参见其基类 [page:VideoTexture VideoTexture]。

[method:undefined setFrame]( [param:VideoFrame frame] )

设置视频的当前帧。这将自动更新纹理,以便数据可用于渲染。

源码

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]