【发布时间】:2019-12-17 22:45:40
【问题描述】:
目前three.js中有3种包装方式:
THREE.RepeatWrapping
THREE.ClampToEdgeWrapping
THREE.MirroredRepeatWrapping
例子:
var texture = new THREE.TextureLoader().load( "textures/water.jpg" );
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
我在着色器中使用纹理来进行 gpgpu 计算,出于我的目的,我希望纹理在其边界之外为零。例如,如果您使用 ClampToEdge,则在纹理边界之外查找值将产生边界内最近像素的颜色。在坐标 (1.3, .5) 处查找一个值将给出 (1., .5) 处的颜色,因为 1.3 对于纹理坐标来说太大了
所以我希望它在边界之外产生零,或者如果这不可能,我希望能够不断地将边缘设置为零。最好的方法是什么?
【问题讨论】:
-
我可能会误解,但你不知道它在 1.3 时超出了界限,然后可以测试它是否在界限内,如果不是则返回/设置 0?。
标签: javascript three.js