Gregg Tavares 4 years ago
parent
commit
845c38c197

+ 72 - 72
threejs/lessons/kr/threejs-custom-buffergeometry.md

@@ -56,53 +56,53 @@ index = 4 위치의 꼭지점 데이터를 보세요. 이 묶음이 하나의 
 ```js
 const vertices = [
   // 앞쪽
-  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
+  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
+  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
 
-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
+  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
   // 오른쪽
-  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
+  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
+  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
 
-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
+  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
   // 뒤쪽
-  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
+  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
 
-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
+  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
   // 왼쪽
-  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 1], },
-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
+  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 0], },
+  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
 
-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
+  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 1], },
   // 상단
-  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 1], },
-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 0], },
+  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
 
-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
+  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 1], },
   // 하단
-  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 1], },
-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
+  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 0], },
+  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
 
-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
+  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 1], },
 ];
 ```
 
@@ -159,53 +159,53 @@ for (const vertex of vertices) {
 ```js
 const vertices = [
   // 앞쪽
-  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 1], }, // 0
-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], }, // 1
-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], }, // 2
+  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 0], }, // 0
+  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], }, // 1
+  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], }, // 2
 -
--  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
--  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 0], }, // 3
+-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
+-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 1], }, // 3
   // 오른쪽
-  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 1], }, // 4
-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], }, // 5
+  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 0], }, // 4
+  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], }, // 5
 -
--  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
--  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], }, // 6
-  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 0], }, // 7
+-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
+-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], }, // 6
+  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 1], }, // 7
   // 뒤쪽
-  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 1], }, // 8
-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], }, // 9
+  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 0], }, // 8
+  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], }, // 9
 -
--  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
--  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], }, // 10
-  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 0], }, // 11
+-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
+-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], }, // 10
+  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 1], }, // 11
   // 왼쪽
-  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 1], }, // 12
-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], }, // 13
+  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 0], }, // 12
+  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], }, // 13
 -
--  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
--  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], }, // 14
-  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 0], }, // 15
+-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
+-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], }, // 14
+  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 1], }, // 15
   // 상단
-  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 1], }, // 16
-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], }, // 17
+  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 0], }, // 16
+  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], }, // 17
 -
--  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
--  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], }, // 18
-  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 0], }, // 19
+-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
+-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], }, // 18
+  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 1], }, // 19
   // 하단
-  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 1], }, // 20
-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], }, // 21
+  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 0], }, // 20
+  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], }, // 21
 -
--  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
--  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], }, // 22
-  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 0], }, // 23
+-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
+-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], }, // 22
+  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 1], }, // 23
 ];
 ```
 

+ 72 - 72
threejs/lessons/ru/threejs-custom-buffergeometry.md

@@ -47,53 +47,53 @@ TOC: Пользовательская BufferGeometry
 ```js
 const vertices = [
   // front
-  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
+  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
+  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
 
-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
+  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
   // right
-  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
+  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
+  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
 
-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
+  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
   // back
-  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
+  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
 
-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
+  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
   // left
-  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 1], },
-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
+  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 0], },
+  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
 
-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
+  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 1], },
   // top
-  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 1], },
-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 0], },
+  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
 
-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
+  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 1], },
   // bottom
-  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 1], },
-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
+  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 0], },
+  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
 
-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
+  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 1], },
 ];
 ```
 
@@ -145,53 +145,53 @@ for (const vertex of vertices) {
 ```js
 const vertices = [
   // front
-  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 1], }, // 0
-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], }, // 1
-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], }, // 2
+  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 0], }, // 0
+  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], }, // 1
+  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], }, // 2
 -
--  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
--  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 0], }, // 3
+-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
+-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 1], }, // 3
   // right
-  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 1], }, // 4
-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], }, // 5
+  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 0], }, // 4
+  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], }, // 5
 -
--  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
--  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], }, // 6
-  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 0], }, // 7
+-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
+-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], }, // 6
+  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 1], }, // 7
   // back
-  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 1], }, // 8
-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], }, // 9
+  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 0], }, // 8
+  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], }, // 9
 -
--  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
--  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], }, // 10
-  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 0], }, // 11
+-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
+-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], }, // 10
+  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 1], }, // 11
   // left
-  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 1], }, // 12
-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], }, // 13
+  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 0], }, // 12
+  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], }, // 13
 -
--  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
--  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], }, // 14
-  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 0], }, // 15
+-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
+-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], }, // 14
+  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 1], }, // 15
   // top
-  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 1], }, // 16
-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], }, // 17
+  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 0], }, // 16
+  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], }, // 17
 -
--  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
--  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], }, // 18
-  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 0], }, // 19
+-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
+-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], }, // 18
+  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 1], }, // 19
   // bottom
-  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 1], }, // 20
-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], }, // 21
+  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 0], }, // 20
+  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], }, // 21
 -
--  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
--  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], }, // 22
-  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 0], }, // 23
+-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
+-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], }, // 22
+  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 1], }, // 23
 ];
 ```
 

+ 72 - 72
threejs/lessons/threejs-custom-buffergeometry.md

@@ -62,53 +62,53 @@ to make a cube requires 36 vertices. 2 triangles per face, 3 vertices per triang
 ```js
 const vertices = [
   // front
-  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
+  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
+  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
 
-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
+  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
   // right
-  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
+  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
+  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
 
-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
+  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
   // back
-  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
+  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
 
-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
+  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
   // left
-  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 1], },
-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
+  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 0], },
+  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
 
-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
+  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 1], },
   // top
-  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 1], },
-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 0], },
+  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
 
-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
+  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 1], },
   // bottom
-  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 1], },
-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
+  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 0], },
+  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
 
-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
+  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 1], },
 ];
 ```
 
@@ -169,53 +169,53 @@ reference them by index. First we remove the matching vertices.
 ```js
 const vertices = [
   // front
-  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 1], }, // 0
-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], }, // 1
-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], }, // 2
+  { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 0], }, // 0
+  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], }, // 1
+  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], }, // 2
 -
--  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
--  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 0], }, // 3
+-  { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
+-  { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 1], }, // 3
   // right
-  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 1], }, // 4
-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], }, // 5
+  { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 0], }, // 4
+  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], }, // 5
 -
--  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
--  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], }, // 6
-  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 0], }, // 7
+-  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
+-  { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], }, // 6
+  { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 1], }, // 7
   // back
-  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 1], }, // 8
-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], }, // 9
+  { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 0], }, // 8
+  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], }, // 9
 -
--  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
--  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], }, // 10
-  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 0], }, // 11
+-  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
+-  { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+  { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], }, // 10
+  { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 1], }, // 11
   // left
-  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 1], }, // 12
-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], }, // 13
+  { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 0], }, // 12
+  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], }, // 13
 -
--  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
--  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], }, // 14
-  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 0], }, // 15
+-  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
+-  { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+  { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], }, // 14
+  { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 1], }, // 15
   // top
-  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 1], }, // 16
-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], }, // 17
+  { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 0], }, // 16
+  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], }, // 17
 -
--  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
--  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], }, // 18
-  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 0], }, // 19
+-  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
+-  { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+  { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], }, // 18
+  { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 1], }, // 19
   // bottom
-  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 1], }, // 20
-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], }, // 21
+  { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 0], }, // 20
+  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], }, // 21
 -
--  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
--  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], }, // 22
-  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 0], }, // 23
+-  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
+-  { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+  { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], }, // 22
+  { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 1], }, // 23
 ];
 ```
 

+ 24 - 24
threejs/threejs-custom-buffergeometry-cube-indexed.html

@@ -47,35 +47,35 @@ function main() {
   // Only trying to make it clear most vertices are unique
   const vertices = [
     // front
-    { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 1], }, // 0
-    { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], }, // 1
-    { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], }, // 2
-    { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 0], }, // 3
+    { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 0], }, // 0
+    { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], }, // 1
+    { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], }, // 2
+    { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 1], }, // 3
     // right
-    { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 1], }, // 4
-    { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], }, // 5
-    { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], }, // 6
-    { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 0], }, // 7
+    { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 0], }, // 4
+    { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], }, // 5
+    { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], }, // 6
+    { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 1], }, // 7
     // back
-    { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 1], }, // 8
-    { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], }, // 9
-    { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], }, // 10
-    { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 0], }, // 11
+    { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 0], }, // 8
+    { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], }, // 9
+    { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], }, // 10
+    { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 1], }, // 11
     // left
-    { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 1], }, // 12
-    { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], }, // 13
-    { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], }, // 14
-    { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 0], }, // 15
+    { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 0], }, // 12
+    { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], }, // 13
+    { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], }, // 14
+    { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 1], }, // 15
     // top
-    { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 1], }, // 16
-    { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], }, // 17
-    { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], }, // 18
-    { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 0], }, // 19
+    { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 0], }, // 16
+    { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], }, // 17
+    { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], }, // 18
+    { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 1], }, // 19
     // bottom
-    { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 1], }, // 20
-    { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], }, // 21
-    { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], }, // 22
-    { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 0], }, // 23
+    { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 0], }, // 20
+    { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], }, // 21
+    { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], }, // 22
+    { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 1], }, // 23
   ];
   const positions = [];
   const normals = [];

+ 24 - 24
threejs/threejs-custom-buffergeometry-cube-typedarrays.html

@@ -47,35 +47,35 @@ function main() {
   // Only trying to make it clear most vertices are unique
   const vertices = [
     // front
-    { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 1], }, // 0
-    { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], }, // 1
-    { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], }, // 2
-    { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 0], }, // 3
+    { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 0], }, // 0
+    { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], }, // 1
+    { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], }, // 2
+    { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 1], }, // 3
     // right
-    { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 1], }, // 4
-    { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], }, // 5
-    { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], }, // 6
-    { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 0], }, // 7
+    { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 0], }, // 4
+    { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], }, // 5
+    { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], }, // 6
+    { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 1], }, // 7
     // back
-    { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 1], }, // 8
-    { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], }, // 9
-    { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], }, // 10
-    { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 0], }, // 11
+    { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 0], }, // 8
+    { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], }, // 9
+    { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], }, // 10
+    { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 1], }, // 11
     // left
-    { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 1], }, // 12
-    { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], }, // 13
-    { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], }, // 14
-    { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 0], }, // 15
+    { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 0], }, // 12
+    { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], }, // 13
+    { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], }, // 14
+    { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 1], }, // 15
     // top
-    { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 1], }, // 16
-    { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], }, // 17
-    { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], }, // 18
-    { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 0], }, // 19
+    { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 0], }, // 16
+    { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], }, // 17
+    { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], }, // 18
+    { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 1], }, // 19
     // bottom
-    { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 1], }, // 20
-    { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], }, // 21
-    { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], }, // 22
-    { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 0], }, // 23
+    { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 0], }, // 20
+    { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], }, // 21
+    { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], }, // 22
+    { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 1], }, // 23
   ];
   const numVertices = vertices.length;
   const positionNumComponents = 3;

+ 36 - 36
threejs/threejs-custom-buffergeometry-cube.html

@@ -47,53 +47,53 @@ function main() {
   // Only trying to make it clear most vertices are unique
   const vertices = [
     // front
-    { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
-    { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-    { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
+    { pos: [-1, -1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
+    { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+    { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
 
-    { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 0], },
-    { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
-    { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+    { pos: [-1,  1,  1], norm: [ 0,  0,  1], uv: [0, 1], },
+    { pos: [ 1, -1,  1], norm: [ 0,  0,  1], uv: [1, 0], },
+    { pos: [ 1,  1,  1], norm: [ 0,  0,  1], uv: [1, 1], },
     // right
-    { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
-    { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-    { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
+    { pos: [ 1, -1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
+    { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+    { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
 
-    { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 0], },
-    { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
-    { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+    { pos: [ 1,  1,  1], norm: [ 1,  0,  0], uv: [0, 1], },
+    { pos: [ 1, -1, -1], norm: [ 1,  0,  0], uv: [1, 0], },
+    { pos: [ 1,  1, -1], norm: [ 1,  0,  0], uv: [1, 1], },
     // back
-    { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
-    { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-    { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
+    { pos: [ 1, -1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
+    { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+    { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
 
-    { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 0], },
-    { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
-    { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+    { pos: [ 1,  1, -1], norm: [ 0,  0, -1], uv: [0, 1], },
+    { pos: [-1, -1, -1], norm: [ 0,  0, -1], uv: [1, 0], },
+    { pos: [-1,  1, -1], norm: [ 0,  0, -1], uv: [1, 1], },
     // left
-    { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 1], },
-    { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-    { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
+    { pos: [-1, -1, -1], norm: [-1,  0,  0], uv: [0, 0], },
+    { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+    { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
 
-    { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 0], },
-    { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 1], },
-    { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+    { pos: [-1,  1, -1], norm: [-1,  0,  0], uv: [0, 1], },
+    { pos: [-1, -1,  1], norm: [-1,  0,  0], uv: [1, 0], },
+    { pos: [-1,  1,  1], norm: [-1,  0,  0], uv: [1, 1], },
     // top
-    { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 1], },
-    { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-    { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
+    { pos: [ 1,  1, -1], norm: [ 0,  1,  0], uv: [0, 0], },
+    { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+    { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
 
-    { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 0], },
-    { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 1], },
-    { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 0], },
+    { pos: [ 1,  1,  1], norm: [ 0,  1,  0], uv: [0, 1], },
+    { pos: [-1,  1, -1], norm: [ 0,  1,  0], uv: [1, 0], },
+    { pos: [-1,  1,  1], norm: [ 0,  1,  0], uv: [1, 1], },
     // bottom
-    { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 1], },
-    { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-    { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
+    { pos: [ 1, -1,  1], norm: [ 0, -1,  0], uv: [0, 0], },
+    { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+    { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
 
-    { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 0], },
-    { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 1], },
-    { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 0], },
+    { pos: [ 1, -1, -1], norm: [ 0, -1,  0], uv: [0, 1], },
+    { pos: [-1, -1,  1], norm: [ 0, -1,  0], uv: [1, 0], },
+    { pos: [-1, -1, -1], norm: [ 0, -1,  0], uv: [1, 1], },
   ];
   const positions = [];
   const normals = [];