首页 > 解决方案 > 三.js TexturePass纹理被拉伸

问题描述

我只是拿起three.js,我一直在玩这个例子:https ://threejs.org/examples/?q=mask#webgl_postprocessing_masking

我不知道这是否是有意的,但演示中使用的纹理被拉伸以填充窗口。如果您尝试调整窗口大小,您会注意到图像变形。

我希望纹理与coverCSS 背景属性相同,其中图像覆盖所有可用的场景空间但没有被拉伸。

我读过纹理可以被操纵,texture.repeat但是texture.offset当纹理被传递到TexturePass().

var texture = new THREE.TextureLoader().load(env.img + 'desk.jpg')
texture.minFilter = THREE.LinearFilter

texture.repeat.set(1,2)

var texturePass = new TexturePass( texture )

texture.repeat似乎被完全忽略了。

这是我用作样板的上述示例的代码。https://github.com/mrdoob/three.js/blob/master/examples/webgl_postprocessing_masking.html

还有什么我必须事先对纹理做的事情吗?任何帮助将不胜感激,我一直在寻找整个互联网,但似乎很少有三个后处理示例,如 TexturePass。

标签: javascriptthree.jstexturespost-processing

解决方案


推荐阅读