【问题标题】:ThreeJs VideoTexture antialiasing/resolutionThreeJs VideoTexture 抗锯齿/分辨率
【发布时间】:2021-04-27 08:33:04
【问题描述】:

所以我在 ThreeJS 中有一个 VideoTexture,它的渲染非常像素化。

渲染器的实际pixelDensity 很多,并且场景的其余部分渲染得相当清晰 - 我已经搜索了很多关于在这里做什么的信息,但我找不到任何东西。

  • 各向异性设置无任何作用,无论设置的数字是多少
  • pixelDensity 增加到一个异常高的数字会有所帮助,但不能解决问题
  • 视频本身非常高清
  • 我尝试将FXAA 用作shaderPass,但这似乎也没有任何作用

有谁知道如何获得清脆的VideoTexture?当然有可能得到比下面更好的东西。我创建纹理/材质的方式有什么问题吗?

video.load()
video.play()

const texture = new VideoTexture(video)
texture.encoding = sRGBEncoding

const material = new MeshStandardMaterial({
  map: texture,
  side: FrontSide,
})

const geometry = new PlaneGeometry( 30, 17, 32 )

【问题讨论】:

    标签: javascript three.js react-three-fiber


    【解决方案1】:

    尝试更改纹理的minification and magnification filters。如果你使用NearestFilter,它会变得非常像素化,但你可以使用LinearFilter 来获得纹素之间的平滑插值:

    const texture = new VideoTexture(video);
    texture.encoding = sRGBEncoding;
    texture.magFilter = THREE.LinearFilter;
    

    【讨论】:

    • 您还有其他想法吗?我已经在 DPR 为 1 的屏幕上尝试了这些,但它仍然是锯齿状的:discourse.threejs.org/t/…
    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 2011-07-05
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多