版本升级后球体上的纹理模糊

时间:2017-07-28 15:10:04

标签: javascript 3d three.js webgl

从r67升级到r86之后,我们的足球不再那么性感了。过去有没有人有类似的问题?

用于渲染球体的代码很好地在r86版本中弄乱了纹理(以及一些照明,但我可以使用它)。

创建球体的部分:

const material = new THREE.MeshPhongMaterial({ map: texture, transparent: false });
material.alphaTest = 0.5;
const geometry = new THREE.SphereGeometry(radius, res, res);
const mesh = new THREE.Mesh(geometry, material);

enter image description here

Fiddle using r86

1 个答案:

答案 0 :(得分:3)

在我的评论中,我建议检查UV。我建议尝试不同的min / mag滤波器值(http://threejs.org/docs/#api/constants/Textures)更多的是纠正图像质量,而不是纹理映射它自己。

我没注意到的是你的纹理已经是球形的。标准线性滤波器很好地线性地映射了纹理。线性滤波器的加权/平均导致映射向顶部(和底部压缩,但不明显)。

设置texture.minFilter = THREE.NearestFilter;抛弃纹理坐标的加权/平均,而不是映射到最近的像素,这是因为你的球形纹理是完美的。