我目前为我的游戏添加天空盒的代码如下:
var sky = new THREE.Mesh(
new THREE.SphereGeometry(100, 32, 15),
new THREE.ShaderMaterial({
uniforms: uniforms,
vertexShader: gradientShader.vertex,
fragmentShader: gradientShader.fragment,
side: THREE.BackSide
})
);
为了获得用于计算的模型的位置,我目前只是将它作为制服提供。 ypos: { type: "f", value: 0 }
不幸的是,这也意味着我必须在模型移动时更新它。
有没有办法从着色器本身获取模型的位置?这样我就不必为它设置制服,并且当模型移动时它会自动使用新位置。