1

我使用库three.js 在WebGL 中工作。就我而言,我的场景中有两个对象,我想独立更新显示器上的对象。我使用着色器来修改对象的颜色,我想修改片段着色器的统一参数的值,并将着色器仅应用于我的一个对象。我想在我的网格上应用“drawElements”并使用新参数绘制它。当我做“renderer.render(场景,相机);” 我更新了所有对象,这不是我想要的。我怎样才能做到这一点 ?请问你能帮帮我吗 ?

4

1 回答 1

0

如果你使用的是 r.53 之前的版本,你需要为你的第二个着色器克隆你的制服:

shaderB = shaderA.clone();
shaderB.uniforms = THREE.UniformsUtils.clone( shaderA.uniforms );

更好的选择是更新到当前版本 r.53。在这种情况下,制服克隆已为您完成,以下内容就足够了:

shaderB = shaderA.clone();
于 2012-11-16T14:27:34.003 回答