我試圖在ThreeJS片段着色器中實現普通地圖,但似乎在最近丟失了一個關鍵功能computeTangents
版本。THREEJS v0.87.1:不能再生成正常映射中使用的切線和binormals
下面是使用舊版本三的工作演示:
http://coryg89.github.io/technical/2013/06/01/photorealistic-3d-moon-demo-in-webgl-and-javascript/
ThreeJS使用computeTangents()
名爲「切線」的屬性添加到發送到頂點着色器。
所以我研究了,就像我能和使用着色器只計算切線的方法試過了,但是這需要dFdx
導致約GL_OES_standard_derivatives
錯誤在我的MacBook Pro着色器。
然後我試着將幾何體從一個簡單的多維數據集轉換成緩衝區幾何體,以便在BufferGeometryUtils.computeTangent()
函數中使用,以便在那裏生成切線,但這需要「索引幾何體」,它不存在於由ThreeJS。
從原來的演示,這是我需要使用最新ThreeJS重新創建行:
var mesh = new THREE.Mesh(geo, mat);
mesh.geometry.computeTangents();
回購在這裏:
https://github.com/CoryG89/MoonDemo
是否有可能得到這個演示使用工作三版的新版本?