对于材质,设置THREE.FlatShading
似乎不适用于BufferGeometry
。它是否实施?Three.js - 为BufferGeometry实现的平面着色
我创建BufferGeometry
与CTMLoader (useBuffers = true)
与shading: THREE.FlatShading
地应用MeshLambertMaterial
或MeshNormalMaterial
。 Three.js仍将所有内容渲染为SmoothShading。
如果我切换到ClassicGeometry(useBuffers = false),一切都按预期工作。不幸的是,这对我们来说不起作用,因为我们的模型非常庞大,这正是使用BufferGeometry
的原因。
它只是没有执行或是非常困难/耗时/不可能实现?
非常感谢您提供任何提示或建议。我正在使用最新的r58版本。
P.S.
我发现最近Ryan Rix的帖子在同一主题http://rix.si/2013/04/15/threejs-ctm-and-you/,他不得不切换到ClassicGeometry使其工作。
它没有在r.58中实现。作为一个实验,在渲染之前,请尝试调用'BufferGeometry.computeVertexNormals()'并查看它是否产生平面着色。这当然会覆盖你现有的顶点法线。 – WestLangley
@WestLangley,谢谢,我试过了 - 不起作用。同样设置dynamic = true也没有帮助。 – Simon