對於材質,設置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