Three.js - проблемы плавного затенения материала Ламберта по пользовательской геометрии
Я создал пользовательскую геометрию в Three.js. Теперь я хотел бы создать сетку, которая использует материал Ламберта с гладкой тенью. Используя цикл, я создал массив вершин, затем граней, а затем я вызвал
geometry.computeCentroids();
geometry.computeFaceNormals();
geometry.computeVertexNormals();
var colorMaterial = new THREE.MeshLambertMaterial( {color: 0x0000ff, side: THREE.DoubleSide} );
var mesh = new THREE.Mesh( geometry, colorMaterial );
scene.add(mesh);
Результат почти идеален, за исключением того, что кажется, что материал используетshading: THREE.FlatShading
как видно ниже:
в то время как я ожидал появления по умолчанию, которое обычно ожидают сshading: THREE.SmoothShading
, Что мне нужно добавить / изменить, чтобы получить плавное затенение Ламберта?
(Если это поможет, полный живой пример наhttp://stemkoski.github.io/Three.js/Marching-Cubes.html а геометрия и сетка создаются вокруг линий 250-280.)