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.)

Ответы на вопрос(1)

Ваш ответ на вопрос