Browse Source

bump three to r127

Gregg Tavares 4 years ago
parent
commit
b7eaef5eb8
100 changed files with 266 additions and 269 deletions
  1. 3 3
      threejs/background-v01.html
  2. 3 3
      threejs/background.html
  3. 3 3
      threejs/lessons/fr/threejs-fundamentals.md
  4. 1 1
      threejs/lessons/fr/threejs-prerequisites.md
  5. 4 4
      threejs/lessons/ja/threejs-align-html-elements-to-3d.md
  6. 2 2
      threejs/lessons/ja/threejs-canvas-textures.md
  7. 2 2
      threejs/lessons/ja/threejs-custom-geometry.md
  8. 2 2
      threejs/lessons/ja/threejs-fundamentals.md
  9. 5 5
      threejs/lessons/ja/threejs-lights.md
  10. 4 4
      threejs/lessons/ja/threejs-load-gltf.md
  11. 5 5
      threejs/lessons/ja/threejs-load-obj.md
  12. 1 1
      threejs/lessons/ja/threejs-multiple-scenes.md
  13. 5 5
      threejs/lessons/ja/threejs-offscreencanvas.md
  14. 4 4
      threejs/lessons/ja/threejs-optimize-lots-of-objects-animated.md
  15. 1 1
      threejs/lessons/ja/threejs-optimize-lots-of-objects.md
  16. 4 4
      threejs/lessons/ja/threejs-post-processing.md
  17. 1 1
      threejs/lessons/ja/threejs-prerequisites.md
  18. 4 4
      threejs/lessons/ja/threejs-rendering-on-demand.md
  19. 4 4
      threejs/lessons/kr/threejs-align-html-elements-to-3d.md
  20. 1 1
      threejs/lessons/kr/threejs-backgrounds.md
  21. 2 2
      threejs/lessons/kr/threejs-canvas-textures.md
  22. 2 2
      threejs/lessons/kr/threejs-custom-geometry.md
  23. 3 3
      threejs/lessons/kr/threejs-fundamentals.md
  24. 8 8
      threejs/lessons/kr/threejs-game.md
  25. 5 5
      threejs/lessons/kr/threejs-lights.md
  26. 4 4
      threejs/lessons/kr/threejs-load-gltf.md
  27. 5 5
      threejs/lessons/kr/threejs-load-obj.md
  28. 1 1
      threejs/lessons/kr/threejs-multiple-scenes.md
  29. 5 5
      threejs/lessons/kr/threejs-offscreencanvas.md
  30. 4 4
      threejs/lessons/kr/threejs-optimize-lots-of-objects-animated.md
  31. 1 1
      threejs/lessons/kr/threejs-optimize-lots-of-objects.md
  32. 4 4
      threejs/lessons/kr/threejs-post-processing.md
  33. 1 1
      threejs/lessons/kr/threejs-prerequisites.md
  34. 4 4
      threejs/lessons/kr/threejs-rendering-on-demand.md
  35. 2 2
      threejs/lessons/kr/threejs-transparency.md
  36. 1 1
      threejs/lessons/resources/threejs-cameras.js
  37. 1 1
      threejs/lessons/resources/threejs-custom-buffergeometry.js
  38. 2 2
      threejs/lessons/resources/threejs-fog.js
  39. 2 2
      threejs/lessons/resources/threejs-lesson-utils.js
  40. 2 2
      threejs/lessons/resources/threejs-lights.js
  41. 1 1
      threejs/lessons/resources/threejs-lots-of-objects.js
  42. 1 1
      threejs/lessons/resources/threejs-materials.js
  43. 1 1
      threejs/lessons/resources/threejs-primitives.js
  44. 1 1
      threejs/lessons/resources/threejs-textures.js
  45. 2 2
      threejs/lessons/resources/threejs-voxel-geometry.js
  46. 2 2
      threejs/lessons/ru/threejs-custom-geometry.md
  47. 1 1
      threejs/lessons/ru/threejs-fundamentals.md
  48. 5 5
      threejs/lessons/ru/threejs-lights.md
  49. 1 1
      threejs/lessons/ru/threejs-multiple-scenes.md
  50. 5 5
      threejs/lessons/ru/threejs-offscreencanvas.md
  51. 4 4
      threejs/lessons/ru/threejs-optimize-lots-of-objects-animated.md
  52. 1 1
      threejs/lessons/ru/threejs-optimize-lots-of-objects.md
  53. 1 1
      threejs/lessons/ru/threejs-prerequisites.md
  54. 4 4
      threejs/lessons/ru/threejs-rendering-on-demand.md
  55. 4 4
      threejs/lessons/threejs-align-html-elements-to-3d.md
  56. 1 1
      threejs/lessons/threejs-backgrounds.md
  57. 2 2
      threejs/lessons/threejs-canvas-textures.md
  58. 2 2
      threejs/lessons/threejs-custom-geometry.md
  59. 3 3
      threejs/lessons/threejs-fundamentals.md
  60. 8 8
      threejs/lessons/threejs-game.md
  61. 5 5
      threejs/lessons/threejs-lights.md
  62. 4 4
      threejs/lessons/threejs-load-gltf.md
  63. 5 5
      threejs/lessons/threejs-load-obj.md
  64. 1 1
      threejs/lessons/threejs-multiple-scenes.md
  65. 5 5
      threejs/lessons/threejs-offscreencanvas.md
  66. 4 4
      threejs/lessons/threejs-optimize-lots-of-objects-animated.md
  67. 1 1
      threejs/lessons/threejs-optimize-lots-of-objects.md
  68. 3 3
      threejs/lessons/threejs-post-processing-3dlut.md
  69. 4 4
      threejs/lessons/threejs-post-processing.md
  70. 1 1
      threejs/lessons/threejs-prerequisites.md
  71. 4 4
      threejs/lessons/threejs-rendering-on-demand.md
  72. 2 2
      threejs/lessons/threejs-transparency.md
  73. 2 2
      threejs/lessons/threejs-webvr.md
  74. 3 6
      threejs/lessons/tr/threejs-fundamentals.md
  75. 3 3
      threejs/lessons/zh_cn/threejs-fundamentals.md
  76. 5 5
      threejs/lessons/zh_cn/threejs-lights.md
  77. 5 5
      threejs/lessons/zh_cn/threejs-load-obj.md
  78. 4 4
      threejs/lessons/zh_cn/threejs-optimize-lots-of-objects-animated.md
  79. 1 1
      threejs/lessons/zh_cn/threejs-optimize-lots-of-objects.md
  80. 4 4
      threejs/lessons/zh_cn/threejs-post-processing.md
  81. 1 1
      threejs/lessons/zh_cn/threejs-primitives.md
  82. 4 4
      threejs/lessons/zh_cn/threejs-rendering-on-demand.md
  83. 1 1
      threejs/offscreencanvas-cubes.js
  84. 1 1
      threejs/offscreencanvas-worker-orbitcontrols.js
  85. 1 1
      threejs/shared-cubes.js
  86. 2 2
      threejs/shared-orbitcontrols.js
  87. 1 1
      threejs/shared-picking.js
  88. 2 2
      threejs/threejs-align-html-elements-to-3d-globe-too-many-labels.html
  89. 2 2
      threejs/threejs-align-html-elements-to-3d-globe.html
  90. 2 2
      threejs/threejs-align-html-to-3d-w-hiding.html
  91. 2 2
      threejs/threejs-align-html-to-3d-w-sorting.html
  92. 2 2
      threejs/threejs-align-html-to-3d.html
  93. 1 1
      threejs/threejs-background-css.html
  94. 2 2
      threejs/threejs-background-cubemap.html
  95. 2 2
      threejs/threejs-background-equirectangularmap.html
  96. 1 1
      threejs/threejs-background-scene-background-fixed-aspect.html
  97. 1 1
      threejs/threejs-background-scene-background.html
  98. 1 1
      threejs/threejs-background-separate-scene-bad-aspect.html
  99. 1 1
      threejs/threejs-background-separate-scene.html
  100. 2 2
      threejs/threejs-billboard-labels-w-sprites-adjust-height.html

+ 3 - 3
threejs/background-v01.html

@@ -22,9 +22,9 @@
     <canvas id="c"></canvas>
     <canvas id="c"></canvas>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-import {GLTFLoader} from './resources/threejs/r125/examples/jsm/loaders/GLTFLoader.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
+import {GLTFLoader} from './resources/threejs/r127/examples/jsm/loaders/GLTFLoader.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 3 - 3
threejs/background.html

@@ -22,9 +22,9 @@
     <canvas id="c"></canvas>
     <canvas id="c"></canvas>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-import {GLTFLoader} from './resources/threejs/r125/examples/jsm/loaders/GLTFLoader.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
+import {GLTFLoader} from './resources/threejs/r127/examples/jsm/loaders/GLTFLoader.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 3 - 3
threejs/lessons/fr/threejs-fundamentals.md

@@ -97,7 +97,7 @@ Tout d'abord, chargeons three.js :
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 </script>
 </script>
 ```
 ```
 
 
@@ -121,7 +121,7 @@ dans le document html :
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 +function main() {
 +function main() {
 +  const canvas = document.querySelector('#c');
 +  const canvas = document.querySelector('#c');
@@ -415,7 +415,7 @@ par le biais d'une balise <code>&lt;script type="module"&gt;</code>. Voici un ex
 </p>
 </p>
 <pre class=prettyprint>
 <pre class=prettyprint>
 &lt;script type="module"&gt;
 &lt;script type="module"&gt;
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 

+ 1 - 1
threejs/lessons/fr/threejs-prerequisites.md

@@ -25,7 +25,7 @@ ou en ligne via une balise `<script type="module">`. Voici un exemple des deux
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 

+ 4 - 4
threejs/lessons/ja/threejs-align-html-elements-to-3d.md

@@ -37,8 +37,8 @@ TOC: HTML要素を3Dに揃える
 [ライティングの記事](threejs-lights.html)のように `OrbitControls` を追加します。
 [ライティングの記事](threejs-lights.html)のように `OrbitControls` を追加します。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js
@@ -701,8 +701,8 @@ for (const countryInfo of countryInfos) {
 値を操作できるようにGUIを追加します。
 値を操作できるようにGUIを追加します。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 2 - 2
threejs/lessons/ja/threejs-canvas-textures.md

@@ -254,8 +254,8 @@ const scene = new THREE.Scene();
 残作業はカメラを動かせるように `OrbitControls` を追加します。
 残作業はカメラを動かせるように `OrbitControls` を追加します。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

+ 2 - 2
threejs/lessons/ja/threejs-custom-geometry.md

@@ -407,8 +407,8 @@ for (let z = 0; z < cellsDeep; ++z) {
 * `OrbitControls`を追加してください。
 * `OrbitControls`を追加してください。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

+ 2 - 2
threejs/lessons/ja/threejs-fundamentals.md

@@ -33,7 +33,7 @@ Three.jsはcanvasに描画するため、canvasをthree.jsに渡す必要があ
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');
@@ -292,7 +292,7 @@ es6モジュールはスクリプトのロードに <code>import</code> を使
 </p>
 </p>
 <pre class=prettyprint>
 <pre class=prettyprint>
 &lt;script type="module"&gt;
 &lt;script type="module"&gt;
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 

+ 5 - 5
threejs/lessons/ja/threejs-lights.md

@@ -26,8 +26,8 @@ const camera = new THREE.PerspectiveCamera(fov, aspect, near, far);
 `OrbitControls` はthree.jsのオプション機能なので、importする必要があります。
 `OrbitControls` はthree.jsのオプション機能なので、importする必要があります。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 これでOrbitControlsを利用できます。
 これでOrbitControlsを利用できます。
@@ -434,9 +434,9 @@ gui.add(light, 'penumbra', 0, 1, 0.01);
 ライトを可視化するために `RectAreaLightHelper` をimportします。
 ライトを可視化するために `RectAreaLightHelper` をimportします。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {RectAreaLightUniformsLib} from './resources/threejs/r125/examples/jsm/lights/RectAreaLightUniformsLib.js';
-+import {RectAreaLightHelper} from './resources/threejs/r125/examples/jsm/helpers/RectAreaLightHelper.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {RectAreaLightUniformsLib} from './resources/threejs/r127/examples/jsm/lights/RectAreaLightUniformsLib.js';
++import {RectAreaLightHelper} from './resources/threejs/r127/examples/jsm/helpers/RectAreaLightHelper.js';
 ```
 ```
 
 
 `RectAreaLightUniformsLib.init` を呼び出します。
 `RectAreaLightUniformsLib.init` を呼び出します。

+ 4 - 4
threejs/lessons/ja/threejs-load-gltf.md

@@ -97,10 +97,10 @@ mtlLoader.loadMtl('resources/models/windmill/windmill-fixed.mtl', (mtl) => {
 また `OBJLoader` を取り除き `GLTFLoader` を含める必要があります。
 また `OBJLoader` を取り除き `GLTFLoader` を含める必要があります。
 
 
 ```html
 ```html
--import {LoaderSupport} from './resources/threejs/r125/examples/jsm/loaders/LoaderSupport.js';
--import {OBJLoader} from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
--import {MTLLoader} from './resources/threejs/r125/examples/jsm/loaders/MTLLoader.js';
-+import {GLTFLoader} from './resources/threejs/r125/examples/jsm/loaders/GLTFLoader.js';
+-import {LoaderSupport} from './resources/threejs/r127/examples/jsm/loaders/LoaderSupport.js';
+-import {OBJLoader} from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
+-import {MTLLoader} from './resources/threejs/r127/examples/jsm/loaders/MTLLoader.js';
++import {GLTFLoader} from './resources/threejs/r127/examples/jsm/loaders/GLTFLoader.js';
 ```
 ```
 
 
 実行すると以下になりました。
 実行すると以下になりました。

+ 5 - 5
threejs/lessons/ja/threejs-load-obj.md

@@ -32,7 +32,7 @@ blendファイルをダウンロードし[Blender](https://blender.org)で読み
 まず最初に `OBJLoader` のローダーをコードに含める必要があります。
 まず最初に `OBJLoader` のローダーをコードに含める必要があります。
 
 
 ```js
 ```js
-import {OBJLoader} from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
+import {OBJLoader} from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
 ```
 ```
 
 
 次にOBJファイルをロードするために `OBJLoader` のインスタンスを作成し、OBJファイルのURLを渡し、ロードされたモデルをシーンに追加するコールバックを渡します。
 次にOBJファイルをロードするために `OBJLoader` のインスタンスを作成し、OBJファイルのURLを渡し、ロードされたモデルをシーンに追加するコールバックを渡します。
@@ -118,10 +118,10 @@ blenderで **File->External Data->Unpack All Into Files** を選択し、これ
 `MTLLoader` をimportする必要があります。
 `MTLLoader` をimportする必要があります。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-import {OBJLoader} from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
-+import {MTLLoader} from './resources/threejs/r125/examples/jsm/loaders/MTLLoader.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
+import {OBJLoader} from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
++import {MTLLoader} from './resources/threejs/r127/examples/jsm/loaders/MTLLoader.js';
 ```
 ```
 
 
 まず、MTLファイルをロードします。
 まず、MTLファイルをロードします。

+ 1 - 1
threejs/lessons/ja/threejs-multiple-scenes.md

@@ -450,7 +450,7 @@ document.querySelectorAll('[data-diagram]').forEach((elem) => {
 最初にコントロール用のスクリプトを追加します。
 最初にコントロール用のスクリプトを追加します。
 
 
 ```js
 ```js
-import {TrackballControls} from './resources/threejs/r125/examples/jsm/controls/TrackballControls.js';
+import {TrackballControls} from './resources/threejs/r127/examples/jsm/controls/TrackballControls.js';
 ```
 ```
 
 
 そして `TrackballControls` を各シーンに追加し、シーンに関連付けられた要素を渡します。
 そして `TrackballControls` を各シーンに追加し、シーンに関連付けられた要素を渡します。

+ 5 - 5
threejs/lessons/ja/threejs-offscreencanvas.md

@@ -259,7 +259,7 @@ function main() {
 次にHTMLファイルには既に `main` があり、`init` と `state` をエクスポートする必要があるため `main` の名前を `init` に変更します。
 次にHTMLファイルには既に `main` があり、`init` と `state` をエクスポートする必要があるため `main` の名前を `init` に変更します。
 
 
 ```js
 ```js
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 -const state = {
 -const state = {
 +export const state = {
 +export const state = {
@@ -613,7 +613,7 @@ window.addEventListener('touchend', clearPickPosition);
 OrbitControlsは `HTMLElement` を取り、それに使用するDOMイベントのほとんどをアタッチします。
 OrbitControlsは `HTMLElement` を取り、それに使用するDOMイベントのほとんどをアタッチします。
 OrbitControlsが必要とする機能をサポートする必要があります。
 OrbitControlsが必要とする機能をサポートする必要があります。
 
 
-[OrbitControlsのソースコード](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r125/examples/js/controls/OrbitControls.js)を掘り下げてみると、次のイベントを処理する必要があるように見えます。
+[OrbitControlsのソースコード](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r127/examples/js/controls/OrbitControls.js)を掘り下げてみると、次のイベントを処理する必要があるように見えます。
 
 
 * contextmenu
 * contextmenu
 * pointerdown
 * pointerdown
@@ -640,7 +640,7 @@ OrbitControlsが必要とする機能をサポートする必要があります
 ここにWorker部分のコードがあります。
 ここにWorker部分のコードがあります。
 
 
 ```js
 ```js
-import {EventDispatcher} from './resources/threejs/r125/build/three.module.js';
+import {EventDispatcher} from './resources/threejs/r127/build/three.module.js';
 
 
 class ElementProxyReceiver extends EventDispatcher {
 class ElementProxyReceiver extends EventDispatcher {
   constructor() {
   constructor() {
@@ -721,8 +721,8 @@ self.onmessage = function(e) {
 共有のthree.jsコードでは `OrbitControls` をインポートして設定する必要があります。
 共有のthree.jsコードでは `OrbitControls` をインポートして設定する必要があります。
 
 
 ```js
 ```js
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 export function init(data) {
 export function init(data) {
 -  const {canvas} = data;
 -  const {canvas} = data;

+ 4 - 4
threejs/lessons/ja/threejs-optimize-lots-of-objects-animated.md

@@ -343,10 +343,10 @@ showFileInfo(fileInfos, fileInfos[0]);
 アニメーションライブラリをimportする必要があります。
 アニメーションライブラリをimportする必要があります。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {BufferGeometryUtils} from './resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-+import {TWEEN} from './resources/threejs/r125/examples/jsm/libs/tween.min.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {BufferGeometryUtils} from './resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
++import {TWEEN} from './resources/threejs/r127/examples/jsm/libs/tween.min.js';
 ```
 ```
 
 
 そして、影響を与えるアニメーションの `Tween` を作成します。
 そして、影響を与えるアニメーションの `Tween` を作成します。

+ 1 - 1
threejs/lessons/ja/threejs-optimize-lots-of-objects.md

@@ -387,7 +387,7 @@ function addBoxes(file) {
 また `BufferGeometryUtils` も含める必要があります。
 また `BufferGeometryUtils` も含める必要があります。
 
 
 ```js
 ```js
-import {BufferGeometryUtils} from './resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
+import {BufferGeometryUtils} from './resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
 ```
 ```
 
 
 少なくとも私のマシンでは毎秒60フレームになりました。
 少なくとも私のマシンでは毎秒60フレームになりました。

+ 4 - 4
threejs/lessons/ja/threejs-post-processing.md

@@ -99,10 +99,10 @@ composer.addPass(filmPass);
 これらのクラスを使用するには、以下をインポートする必要があります。
 これらのクラスを使用するには、以下をインポートする必要があります。
 
 
 ```js
 ```js
-import {EffectComposer} from './resources/threejs/r125/examples/jsm/postprocessing/EffectComposer.js';
-import {RenderPass} from './resources/threejs/r125/examples/jsm/postprocessing/RenderPass.js';
-import {BloomPass} from './resources/threejs/r125/examples/jsm/postprocessing/BloomPass.js';
-import {FilmPass} from './resources/threejs/r125/examples/jsm/postprocessing/FilmPass.js';
+import {EffectComposer} from './resources/threejs/r127/examples/jsm/postprocessing/EffectComposer.js';
+import {RenderPass} from './resources/threejs/r127/examples/jsm/postprocessing/RenderPass.js';
+import {BloomPass} from './resources/threejs/r127/examples/jsm/postprocessing/BloomPass.js';
+import {FilmPass} from './resources/threejs/r127/examples/jsm/postprocessing/FilmPass.js';
 ```
 ```
 
 
 ほとんどのポストプロセスには `EffectComposer.js` と `RenderPass.js` が必須です。
 ほとんどのポストプロセスには `EffectComposer.js` と `RenderPass.js` が必須です。

+ 1 - 1
threejs/lessons/ja/threejs-prerequisites.md

@@ -20,7 +20,7 @@ es6モジュールはスクリプトの中で `import` キーワード、また
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 

+ 4 - 4
threejs/lessons/ja/threejs-rendering-on-demand.md

@@ -24,8 +24,8 @@ requestAnimationFrame(render);
 最初に `OrbitControls` を追加します。これで何かの変更を反映してレンダリングする事ができます。
 最初に `OrbitControls` を追加します。これで何かの変更を反映してレンダリングする事ができます。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 次に以下のように設定します。
 次に以下のように設定します。
@@ -167,8 +167,8 @@ render();
 シンプルなdat.GUIを追加し、GUIで値の変更時にレンダリングを要求してみましょう。
 シンプルなdat.GUIを追加し、GUIで値の変更時にレンダリングを要求してみましょう。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 4 - 4
threejs/lessons/kr/threejs-align-html-elements-to-3d.md

@@ -26,8 +26,8 @@ TOC: HTML 요소를 3D로 정렬하기
 여기에 `OrbitControls`를 넣습니다. [조명에 관한 글](threejs-lights.html)에서 다뤘었죠.
 여기에 `OrbitControls`를 넣습니다. [조명에 관한 글](threejs-lights.html)에서 다뤘었죠.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js
@@ -652,8 +652,8 @@ for (const countryInfo of countryInfos) {
 마지막으로 어떤 값이 적당한지 알기 어려우니 이 값을 조정할 수 있도록 GUI를 추가합니다.
 마지막으로 어떤 값이 적당한지 알기 어려우니 이 값을 조정할 수 있도록 GUI를 추가합니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 +import { GUI } from '../3rdparty/dat.gui.module.js';
 +import { GUI } from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 1 - 1
threejs/lessons/kr/threejs-backgrounds.md

@@ -172,7 +172,7 @@ function render(time) {
 카메라도 조작이 가능하도록 만듭니다.
 카메라도 조작이 가능하도록 만듭니다.
 
 
 ```js
 ```js
-import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

+ 2 - 2
threejs/lessons/kr/threejs-canvas-textures.md

@@ -236,8 +236,8 @@ const scene = new THREE.Scene();
 마지막으로 `OrbitControls`를 넣어 카메라를 움직일 수 있도록 합니다.
 마지막으로 `OrbitControls`를 넣어 카메라를 움직일 수 있도록 합니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

+ 2 - 2
threejs/lessons/kr/threejs-custom-geometry.md

@@ -429,8 +429,8 @@ for (let z = 0; z < cellsDeep; ++z) {
 `OrbitControls`를 추가하고,
 `OrbitControls`를 추가하고,
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

+ 3 - 3
threejs/lessons/kr/threejs-fundamentals.md

@@ -85,7 +85,7 @@ Three.js는 3차원 세계를 다루므로, 우리는 정육면체(cube)를 3차
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 </script>
 </script>
 ```
 ```
 
 
@@ -107,7 +107,7 @@ import * as THREE from './resources/threejs/r125/build/three.module.js';
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 +function main() {
 +function main() {
 +  const canvas = document.querySelector('#c');
 +  const canvas = document.querySelector('#c');
@@ -389,7 +389,7 @@ es6 모듈은 js 파일이나 인라인 <code>&lt;script type="module"&gt;</code
 </p>
 </p>
 <pre class=prettyprint>
 <pre class=prettyprint>
 &lt;script type="module"&gt;
 &lt;script type="module"&gt;
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 

+ 8 - 8
threejs/lessons/kr/threejs-game.md

@@ -181,10 +181,10 @@ function init() {
 [이전 glTF 파일 예제](threejs-load-gltf.html)와 달리 이번에는 각 모델을 하나 이상 배치할 계획입니다. 그러니 파일을 불러온 뒤 바로 장면에 넣는 대신 각 glTF의 씬 그래프(scene), 이 경우에는 움직이는 캐릭터를 복사해야 합니다. 다행히 Three.js에는 `SkeletonUtil.clone`이라는 함수가 있어 이를 쉽게 구현할 수 있죠. 먼저 해당 모듈을 불러오겠습니다.
 [이전 glTF 파일 예제](threejs-load-gltf.html)와 달리 이번에는 각 모델을 하나 이상 배치할 계획입니다. 그러니 파일을 불러온 뒤 바로 장면에 넣는 대신 각 glTF의 씬 그래프(scene), 이 경우에는 움직이는 캐릭터를 복사해야 합니다. 다행히 Three.js에는 `SkeletonUtil.clone`이라는 함수가 있어 이를 쉽게 구현할 수 있죠. 먼저 해당 모듈을 불러오겠습니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-import { GLTFLoader } from './resources/threejs/r125/examples/jsm/loaders/GLTFLoader.js';
-+import { SkeletonUtils } from './resources/threejs/r125/examples/jsm/utils/SkeletonUtils.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
+import { GLTFLoader } from './resources/threejs/r127/examples/jsm/loaders/GLTFLoader.js';
++import { SkeletonUtils } from './resources/threejs/r127/examples/jsm/utils/SkeletonUtils.js';
 ```
 ```
 
 
 그리고 아까 불러왔던 모델을 복사합니다.
 그리고 아까 불러왔던 모델을 복사합니다.
@@ -1480,10 +1480,10 @@ class Animal extends Component {
 추가로 dat.GUI를 이용해 위 디버깅 요소들를 켜고 끌 수 있도록 합니다.
 추가로 dat.GUI를 이용해 위 디버깅 요소들를 켜고 끌 수 있도록 합니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-import { GLTFLoader } from './resources/threejs/r125/examples/jsm/loaders/GLTFLoader.js';
-import { SkeletonUtils } from './resources/threejs/r125/examples/jsm/utils/SkeletonUtils.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
+import { GLTFLoader } from './resources/threejs/r127/examples/jsm/loaders/GLTFLoader.js';
+import { SkeletonUtils } from './resources/threejs/r127/examples/jsm/utils/SkeletonUtils.js';
 +import { GUI } from '../3rdparty/dat.gui.module.js';
 +import { GUI } from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 5 - 5
threejs/lessons/kr/threejs-lights.md

@@ -26,8 +26,8 @@ const camera = new THREE.PerspectiveCamera(fov, aspect, near, far);
 별도 모듈이므로, 먼저 페이지에 로드해야 합니다.
 별도 모듈이므로, 먼저 페이지에 로드해야 합니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 이제 `OrbitControls`에 카메라와, DOM 이벤트를 감지할 수 있도록
 이제 `OrbitControls`에 카메라와, DOM 이벤트를 감지할 수 있도록
@@ -447,9 +447,9 @@ gui.add(light, 'penumbra', 0, 1, 0.01);
 `RectAreaLightHelper`도 같이 불러와 조명을 시각화하겠습니다.
 `RectAreaLightHelper`도 같이 불러와 조명을 시각화하겠습니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import { RectAreaLightUniformsLib } from './resources/threejs/r125/examples/jsm/lights/RectAreaLightUniformsLib.js';
-+import { RectAreaLightHelper } from './resources/threejs/r125/examples/jsm/helpers/RectAreaLightHelper.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import { RectAreaLightUniformsLib } from './resources/threejs/r127/examples/jsm/lights/RectAreaLightUniformsLib.js';
++import { RectAreaLightHelper } from './resources/threejs/r127/examples/jsm/helpers/RectAreaLightHelper.js';
 ```
 ```
 
 
 모듈을 불러온 후 `RectAreaLightUniformsLib.init` 메서드를 호출합니다.
 모듈을 불러온 후 `RectAreaLightUniformsLib.init` 메서드를 호출합니다.

+ 4 - 4
threejs/lessons/kr/threejs-load-gltf.md

@@ -103,10 +103,10 @@ mtlLoader.loadMtl('resources/models/windmill/windmill-fixed.mtl', (mtl) => {
 추가합니다.
 추가합니다.
 
 
 ```html
 ```html
--import { LoaderSupport } from './resources/threejs/r125/examples/jsm/loaders/LoaderSupport.js';
--import { OBJLoader } from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
--import { MTLLoader } from './resources/threejs/r125/examples/jsm/loaders/MTLLoader.js';
-+import { GLTFLoader } from './resources/threejs/r125/examples/jsm/loaders/GLTFLoader.js';
+-import { LoaderSupport } from './resources/threejs/r127/examples/jsm/loaders/LoaderSupport.js';
+-import { OBJLoader } from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
+-import { MTLLoader } from './resources/threejs/r127/examples/jsm/loaders/MTLLoader.js';
++import { GLTFLoader } from './resources/threejs/r127/examples/jsm/loaders/GLTFLoader.js';
 ```
 ```
 
 
 이제 실행해보죠.
 이제 실행해보죠.

+ 5 - 5
threejs/lessons/kr/threejs-load-obj.md

@@ -41,7 +41,7 @@ Three.js로 프로젝트를 진행할 때, 3D 모델 파일을 불러와 사용
 다음으로 먼저 `OBJLoader` 모듈을 스크립트에 로드합니다.
 다음으로 먼저 `OBJLoader` 모듈을 스크립트에 로드합니다.
 
 
 ```js
 ```js
-import { OBJLoader } from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
+import { OBJLoader } from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
 ```
 ```
 
 
 `OBJLoader`의 인스턴스를 생성한 뒤 .OBJ 파일의 경로와 콜백 함수를 넘겨
 `OBJLoader`의 인스턴스를 생성한 뒤 .OBJ 파일의 경로와 콜백 함수를 넘겨
@@ -133,10 +133,10 @@ map_Ns windmill_001_base_SPEC.jpg
 `MTLLoader` 모듈을 불러옵니다.
 `MTLLoader` 모듈을 불러옵니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-import { OBJLoader } from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
-+import { MTLLoader } from './resources/threejs/r125/examples/jsm/loaders/MTLLoader.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
+import { OBJLoader } from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
++import { MTLLoader } from './resources/threejs/r127/examples/jsm/loaders/MTLLoader.js';
 ```
 ```
 
 
 {{{warning msgId="badTranslation"}}}
 {{{warning msgId="badTranslation"}}}

+ 1 - 1
threejs/lessons/kr/threejs-multiple-scenes.md

@@ -455,7 +455,7 @@ document.querySelectorAll('[data-diagram]').forEach((elem) => {
 불러옵니다.
 불러옵니다.
 
 
 ```js
 ```js
-import { TrackballControls } from './resources/threejs/r125/examples/jsm/controls/TrackballControls.js';
+import { TrackballControls } from './resources/threejs/r127/examples/jsm/controls/TrackballControls.js';
 ```
 ```
 
 
 그리고 각 장면에 대응하는 요소에 `TrackballControls`를 추가합니다.
 그리고 각 장면에 대응하는 요소에 `TrackballControls`를 추가합니다.

+ 5 - 5
threejs/lessons/kr/threejs-offscreencanvas.md

@@ -226,7 +226,7 @@ function main() {
 `shared-cubes.js`와 `offscreencanvas-worker-cubes.js`는 단순히 이전 `offscreencanvas-cubes.js` 파일을 쪼갠 것입니다. 먼저 `offscreencanvas-cube.js`를 `shared-cube.js`로 옮긴 뒤, 메인 HTML 파일에 이미 `main` 함수가 있어 `main` 함수의 이름만 `init`으로 바꿔야 하죠. 여기에 추가로 `init`과 `state` 함수를 export 시켜줘야 합니다.
 `shared-cubes.js`와 `offscreencanvas-worker-cubes.js`는 단순히 이전 `offscreencanvas-cubes.js` 파일을 쪼갠 것입니다. 먼저 `offscreencanvas-cube.js`를 `shared-cube.js`로 옮긴 뒤, 메인 HTML 파일에 이미 `main` 함수가 있어 `main` 함수의 이름만 `init`으로 바꿔야 하죠. 여기에 추가로 `init`과 `state` 함수를 export 시켜줘야 합니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
  
  
 -const state = {
 -const state = {
 +export const state = {
 +export const state = {
@@ -572,7 +572,7 @@ window.addEventListener('touchend', clearPickPosition);
 
 
 여태까지는 전역 `state` 객체를 사용했지만, `OrbitControls`의 경우는 객체 속성이 너무 많아 그걸 전부 다 하드 코딩하는 건 너무 번거롭습니다. `OrbitControls`는 필요한 DOM 이벤트의 대부분을 인자로 받는 `HTMLElement`에 바인딩합니다. 이를 이용해 DOM 요소와 같은 구조의 객체를 넘겨준다면 어떨까요? `OrbitControls`에 필요한 기능만 살려서 말이죠.
 여태까지는 전역 `state` 객체를 사용했지만, `OrbitControls`의 경우는 객체 속성이 너무 많아 그걸 전부 다 하드 코딩하는 건 너무 번거롭습니다. `OrbitControls`는 필요한 DOM 이벤트의 대부분을 인자로 받는 `HTMLElement`에 바인딩합니다. 이를 이용해 DOM 요소와 같은 구조의 객체를 넘겨준다면 어떨까요? `OrbitControls`에 필요한 기능만 살려서 말이죠.
 
 
-[`OrbitControls`의 소스 코드](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r125/examples/js/controls/OrbitControls.js)를 분석해보니 아래의 이벤트만 지원하면 될 듯합니다.
+[`OrbitControls`의 소스 코드](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r127/examples/js/controls/OrbitControls.js)를 분석해보니 아래의 이벤트만 지원하면 될 듯합니다.
 
 
 * contextmenu
 * contextmenu
 * pointerdown
 * pointerdown
@@ -597,7 +597,7 @@ wheel 이벤트는 `deltaY` 속성만,
 아래는 워커 안의 코드입니다.
 아래는 워커 안의 코드입니다.
 
 
 ```js
 ```js
-import { EventDispatcher } from './resources/threejs/r125/build/three.module.js';
+import { EventDispatcher } from './resources/threejs/r127/build/three.module.js';
 
 
 class ElementProxyReceiver extends EventDispatcher {
 class ElementProxyReceiver extends EventDispatcher {
   constructor() {
   constructor() {
@@ -675,8 +675,8 @@ self.onmessage = function(e) {
 Three.js의 공통 코드에 `OrbitControls` 모듈도 불러와 설정해야 합니다.
 Three.js의 공통 코드에 `OrbitControls` 모듈도 불러와 설정해야 합니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 export function init(data) {
 export function init(data) {
 -  const { canvas } = data;
 -  const { canvas } = data;

+ 4 - 4
threejs/lessons/kr/threejs-optimize-lots-of-objects-animated.md

@@ -313,10 +313,10 @@ showFileInfo(fileInfos, fileInfos[0]);
 먼저 라이브러리를 불러옵니다.
 먼저 라이브러리를 불러옵니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import { BufferGeometryUtils } from './resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
-import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-+import { TWEEN } from './resources/threejs/r125/examples/jsm/libs/tween.min.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import { BufferGeometryUtils } from './resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
+import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
++import { TWEEN } from './resources/threejs/r127/examples/jsm/libs/tween.min.js';
 ```
 ```
 
 
 그리고 `Tween`으로 influence 속성에 애니메이션을 줍니다.
 그리고 `Tween`으로 influence 속성에 애니메이션을 줍니다.

+ 1 - 1
threejs/lessons/kr/threejs-optimize-lots-of-objects.md

@@ -375,7 +375,7 @@ function addBoxes(file) {
 물론 `BufferGeometryUtils`을 불러와야죠.
 물론 `BufferGeometryUtils`을 불러와야죠.
 
 
 ```js
 ```js
-import { BufferGeometryUtils } from './resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
+import { BufferGeometryUtils } from './resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
 ```
 ```
 
 
 이제 제 컴퓨터에서는 적어도 60 프레임 이상이 나오네요.
 이제 제 컴퓨터에서는 적어도 60 프레임 이상이 나오네요.

+ 4 - 4
threejs/lessons/kr/threejs-post-processing.md

@@ -82,10 +82,10 @@ composer.addPass(filmPass);
 또 이 클래스들을 사용하기 위해 여러 스크립트를 불러와야 합니다.
 또 이 클래스들을 사용하기 위해 여러 스크립트를 불러와야 합니다.
 
 
 ```js
 ```js
-import { EffectComposer } from './resources/threejs/r125/examples/jsm/postprocessing/EffectComposer.js';
-import { RenderPass } from './resources/threejs/r125/examples/jsm/postprocessing/RenderPass.js';
-import { BloomPass } from './resources/threejs/r125/examples/jsm/postprocessing/BloomPass.js';
-import { FilmPass } from './resources/threejs/r125/examples/jsm/postprocessing/FilmPass.js';
+import { EffectComposer } from './resources/threejs/r127/examples/jsm/postprocessing/EffectComposer.js';
+import { RenderPass } from './resources/threejs/r127/examples/jsm/postprocessing/RenderPass.js';
+import { BloomPass } from './resources/threejs/r127/examples/jsm/postprocessing/BloomPass.js';
+import { FilmPass } from './resources/threejs/r127/examples/jsm/postprocessing/FilmPass.js';
 ```
 ```
 
 
 대부분의 후처리에는 `EffectComposer.js`와 `RenderPass.js`가 필수입니다.
 대부분의 후처리에는 `EffectComposer.js`와 `RenderPass.js`가 필수입니다.

+ 1 - 1
threejs/lessons/kr/threejs-prerequisites.md

@@ -20,7 +20,7 @@ ES2015 모듈은 스크립트 안에서 `import` 키워드나, 인라인 `<scrip
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 

+ 4 - 4
threejs/lessons/kr/threejs-rendering-on-demand.md

@@ -30,8 +30,8 @@ requestAnimationFrame(render);
 먼저 뭔가 변화를 일으킬 수 있는 요소가 필요하니 `OrbitControls`를 추가합니다.
 먼저 뭔가 변화를 일으킬 수 있는 요소가 필요하니 `OrbitControls`를 추가합니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 ...
 ...
 
 
@@ -176,8 +176,8 @@ render();
 간단한 dat.GUI를 추가해 반복 렌더링 여부를 제어할 수 있도록 하겠습니다.
 간단한 dat.GUI를 추가해 반복 렌더링 여부를 제어할 수 있도록 하겠습니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 +import { GUI } from '../3rdparty/dat.gui.module.js';
 +import { GUI } from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 2 - 2
threejs/lessons/kr/threejs-transparency.md

@@ -368,8 +368,8 @@ gui.add(new AllMaterialPropertyGUIHelper('transparent', scene), 'value')
 물론 dat.GUI 모듈도 불러와야죠.
 물론 dat.GUI 모듈도 불러와야죠.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 +import { GUI } from '../3rdparty/dat.gui.module.js';
 +import { GUI } from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 1 - 1
threejs/lessons/resources/threejs-cameras.js

@@ -1,4 +1,4 @@
-import * as THREE from '../../resources/threejs/r125/build/three.module.js';
+import * as THREE from '../../resources/threejs/r127/build/three.module.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 
 
 {
 {

+ 1 - 1
threejs/lessons/resources/threejs-custom-buffergeometry.js

@@ -1,4 +1,4 @@
-import * as THREE from '../../resources/threejs/r125/build/three.module.js';
+import * as THREE from '../../resources/threejs/r127/build/three.module.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 
 
 {
 {

+ 2 - 2
threejs/lessons/resources/threejs-fog.js

@@ -1,5 +1,5 @@
-import * as THREE from '../../resources/threejs/r125/build/three.module.js';
-import {GLTFLoader} from '../../resources/threejs/r125/examples/jsm/loaders/GLTFLoader.js';
+import * as THREE from '../../resources/threejs/r127/build/three.module.js';
+import {GLTFLoader} from '../../resources/threejs/r127/examples/jsm/loaders/GLTFLoader.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 
 
 {
 {

+ 2 - 2
threejs/lessons/resources/threejs-lesson-utils.js

@@ -1,5 +1,5 @@
-import * as THREE from '../../resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from '../../resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from '../../resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from '../../resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 export const threejsLessonUtils = {
 export const threejsLessonUtils = {
   _afterPrettifyFuncs: [],
   _afterPrettifyFuncs: [],

+ 2 - 2
threejs/lessons/resources/threejs-lights.js

@@ -1,5 +1,5 @@
-import * as THREE from '../../resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from '../../resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from '../../resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from '../../resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 
 
 {
 {

+ 1 - 1
threejs/lessons/resources/threejs-lots-of-objects.js

@@ -1,4 +1,4 @@
-import * as THREE from '../../resources/threejs/r125/build/three.module.js';
+import * as THREE from '../../resources/threejs/r127/build/three.module.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 import {GUI} from '../../../3rdparty/dat.gui.module.js';
 import {GUI} from '../../../3rdparty/dat.gui.module.js';
 
 

+ 1 - 1
threejs/lessons/resources/threejs-materials.js

@@ -1,4 +1,4 @@
-import * as THREE from '../../resources/threejs/r125/build/three.module.js';
+import * as THREE from '../../resources/threejs/r127/build/three.module.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 
 
 {
 {

+ 1 - 1
threejs/lessons/resources/threejs-primitives.js

@@ -1,4 +1,4 @@
-import * as THREE from '../../resources/threejs/r125/build/three.module.js';
+import * as THREE from '../../resources/threejs/r127/build/three.module.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 
 
 {
 {

+ 1 - 1
threejs/lessons/resources/threejs-textures.js

@@ -1,4 +1,4 @@
-import * as THREE from '../../resources/threejs/r125/build/three.module.js';
+import * as THREE from '../../resources/threejs/r127/build/three.module.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 
 
 {
 {

+ 2 - 2
threejs/lessons/resources/threejs-voxel-geometry.js

@@ -1,5 +1,5 @@
-import * as THREE from '../../resources/threejs/r125/build/three.module.js';
-import {BufferGeometryUtils} from '../../resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
+import * as THREE from '../../resources/threejs/r127/build/three.module.js';
+import {BufferGeometryUtils} from '../../resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 import {threejsLessonUtils} from './threejs-lesson-utils.js';
 
 
 {
 {

+ 2 - 2
threejs/lessons/ru/threejs-custom-geometry.md

@@ -387,8 +387,8 @@ for (let z = 0; z < cellsDeep; ++z) {
 * добавим `OrbitControls`
 * добавим `OrbitControls`
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

+ 1 - 1
threejs/lessons/ru/threejs-fundamentals.md

@@ -44,7 +44,7 @@ Three.js будет рисовать на этом холсте, так что 
 
 
 ```
 ```
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 5 - 5
threejs/lessons/ru/threejs-lights.md

@@ -29,8 +29,8 @@ const camera = new THREE.PerspectiveCamera(fov, aspect, near, far);
 включить их в нашу страницу.
 включить их в нашу страницу.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 Теперь мы можем использовать их. Мы передаем в `OrbitControls` камеру для 
 Теперь мы можем использовать их. Мы передаем в `OrbitControls` камеру для 
@@ -469,9 +469,9 @@ gui.add(light, 'penumbra', 0, 1, 0.01);
 Для использования `RectAreaLight` нам нужно включить некоторые дополнительные возможности three.js
 Для использования `RectAreaLight` нам нужно включить некоторые дополнительные возможности three.js
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {RectAreaLightUniformsLib} from './resources/threejs/r125/examples/jsm/lights/RectAreaLightUniformsLib.js';
-+import {RectAreaLightHelper} from './resources/threejs/r125/examples/jsm/helpers/RectAreaLightHelper.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {RectAreaLightUniformsLib} from './resources/threejs/r127/examples/jsm/lights/RectAreaLightUniformsLib.js';
++import {RectAreaLightHelper} from './resources/threejs/r127/examples/jsm/helpers/RectAreaLightHelper.js';
 ```
 ```
 
 
 ```js
 ```js

+ 1 - 1
threejs/lessons/ru/threejs-multiple-scenes.md

@@ -472,7 +472,7 @@ document.querySelectorAll('[data-diagram]').forEach((elem) => {
 Сначала мы добавляем скрипт для контролов.
 Сначала мы добавляем скрипт для контролов.
 
 
 ```js
 ```js
-import {TrackballControls} from './resources/threejs/r125/examples/jsm/controls/TrackballControls.js';
+import {TrackballControls} from './resources/threejs/r127/examples/jsm/controls/TrackballControls.js';
 ```
 ```
 
 
 И затем мы можем добавить `TrackballControls` к каждой сцене, передавая элемент, связанный с этой сценой.
 И затем мы можем добавить `TrackballControls` к каждой сцене, передавая элемент, связанный с этой сценой.

+ 5 - 5
threejs/lessons/ru/threejs-offscreencanvas.md

@@ -261,7 +261,7 @@ function main() {
 предыдущего файла `offscreencanvas-cubes.js`. Сначала мы копируем весь файл `offscreencanvas-cubes.js` в `shared-cube.js`. Затем мы переименовываем `main` в `init`, так как у нас уже есть `main` в нашем HTML-файле, и нам нужно экспортировать `init` и состояние
 предыдущего файла `offscreencanvas-cubes.js`. Сначала мы копируем весь файл `offscreencanvas-cubes.js` в `shared-cube.js`. Затем мы переименовываем `main` в `init`, так как у нас уже есть `main` в нашем HTML-файле, и нам нужно экспортировать `init` и состояние
 
 
 ```js
 ```js
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 -const state = {
 -const state = {
 +export const state = {
 +export const state = {
@@ -617,7 +617,7 @@ window.addEventListener('touchend', clearPickPosition);
 
 
 В отличие от нашего кода, мы не можем использовать объект глобального `state`, не переписав весь код `OrbitControls` для работы с ним. `OrbitControls` принимают элемент, к которому они присоединяют большинство используемых ими событий DOM. Возможно, мы могли бы передать наш собственный объект, имеющий ту же поверхность API, что и элемент DOM. Нам нужно только поддерживать функции, которые необходимы `OrbitControls`.
 В отличие от нашего кода, мы не можем использовать объект глобального `state`, не переписав весь код `OrbitControls` для работы с ним. `OrbitControls` принимают элемент, к которому они присоединяют большинство используемых ими событий DOM. Возможно, мы могли бы передать наш собственный объект, имеющий ту же поверхность API, что и элемент DOM. Нам нужно только поддерживать функции, которые необходимы `OrbitControls`.
 
 
-Копаясь в  [исходном коде OrbitControls](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r125/examples/js/controls/OrbitControls.js)
+Копаясь в  [исходном коде OrbitControls](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r127/examples/js/controls/OrbitControls.js)
 похоже, что нам нужно обработать следующие события.
 похоже, что нам нужно обработать следующие события.
 
 
 
 
@@ -647,7 +647,7 @@ window.addEventListener('touchend', clearPickPosition);
 Вот код рабочей части.
 Вот код рабочей части.
 
 
 ```js
 ```js
-import {EventDispatcher} from './resources/threejs/r125/build/three.module.js';
+import {EventDispatcher} from './resources/threejs/r127/build/three.module.js';
 
 
 class ElementProxyReceiver extends EventDispatcher {
 class ElementProxyReceiver extends EventDispatcher {
   constructor() {
   constructor() {
@@ -726,8 +726,8 @@ self.onmessage = function(e) {
 Нам также нужно добавить `OrbitControls` в начало скрипта.
 Нам также нужно добавить `OrbitControls` в начало скрипта.
 
 
 ```js
 ```js
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 export function init(data) {
 export function init(data) {
 -  const {canvas} = data;
 -  const {canvas} = data;

+ 4 - 4
threejs/lessons/ru/threejs-optimize-lots-of-objects-animated.md

@@ -366,10 +366,10 @@ showFileInfo(fileInfos, fileInfos[0]);
 Нам нужно включить библиотеку 
 Нам нужно включить библиотеку 
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {BufferGeometryUtils} from './resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-+import {TWEEN} from './resources/threejs/r125/examples/jsm/libs/tween.min.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {BufferGeometryUtils} from './resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
++import {TWEEN} from './resources/threejs/r127/examples/jsm/libs/tween.min.js';
 ```
 ```
 
 
 А затем создайте `Tween` чтобы оживить влияние.
 А затем создайте `Tween` чтобы оживить влияние.

+ 1 - 1
threejs/lessons/ru/threejs-optimize-lots-of-objects.md

@@ -413,7 +413,7 @@ function addBoxes(file) {
 Нам также нужно включить `BufferGeometryUtils` 
 Нам также нужно включить `BufferGeometryUtils` 
 
 
 ```js
 ```js
-import {BufferGeometryUtils} from './resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
+import {BufferGeometryUtils} from './resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
 ```
 ```
 
 
 И теперь, по крайней мере на моей машине, я получаю 60 кадров в секунду 
 И теперь, по крайней мере на моей машине, я получаю 60 кадров в секунду 

+ 1 - 1
threejs/lessons/ru/threejs-prerequisites.md

@@ -21,7 +21,7 @@ TOC: Необходимые условия
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 

+ 4 - 4
threejs/lessons/ru/threejs-rendering-on-demand.md

@@ -26,8 +26,8 @@ requestAnimationFrame(render);
 Сначала мы добавим в OrbitControls, чтобы можно было что-то изменить, что мы можем сделать в ответ. 
 Сначала мы добавим в OrbitControls, чтобы можно было что-то изменить, что мы можем сделать в ответ. 
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 и настроить их
 и настроить их
@@ -172,8 +172,8 @@ render();
 Давайте также добавим простой графический интерфейс dat.GUI и внесем его изменения по запросу. 
 Давайте также добавим простой графический интерфейс dat.GUI и внесем его изменения по запросу. 
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 4 - 4
threejs/lessons/threejs-align-html-elements-to-3d.md

@@ -35,8 +35,8 @@ with an example from [the article on responsive pages](threejs-responsive.html)
 We'll add some `OrbitControls` like we did in [the article on lighting](threejs-lights.html).
 We'll add some `OrbitControls` like we did in [the article on lighting](threejs-lights.html).
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js
@@ -724,8 +724,8 @@ Finally, since I'm not sure what good values are for these settings lets
 add a GUI so we can play with them
 add a GUI so we can play with them
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 1 - 1
threejs/lessons/threejs-backgrounds.md

@@ -180,7 +180,7 @@ function render(time) {
 Let's add some controls in so we can rotate the camera.
 Let's add some controls in so we can rotate the camera.
 
 
 ```js
 ```js
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

+ 2 - 2
threejs/lessons/threejs-canvas-textures.md

@@ -261,8 +261,8 @@ What's left is to add some `OrbitControls` so we can move
 the camera.
 the camera.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

+ 2 - 2
threejs/lessons/threejs-custom-geometry.md

@@ -446,8 +446,8 @@ A few minor changes to make it easier to view.
 * include the `OrbitControls`
 * include the `OrbitControls`
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

+ 3 - 3
threejs/lessons/threejs-fundamentals.md

@@ -96,7 +96,7 @@ First let's load three.js
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 </script>
 </script>
 ```
 ```
 
 
@@ -119,7 +119,7 @@ We will ask three.js to draw into that canvas so we need to look it up.
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 +function main() {
 +function main() {
 +  const canvas = document.querySelector('#c');
 +  const canvas = document.querySelector('#c');
@@ -417,7 +417,7 @@ both
 </p>
 </p>
 <pre class=prettyprint>
 <pre class=prettyprint>
 &lt;script type="module"&gt;
 &lt;script type="module"&gt;
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 

+ 8 - 8
threejs/lessons/threejs-game.md

@@ -243,10 +243,10 @@ it for skinned animated characters. Fortunately there's a utility function,
 the utils.
 the utils.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-import {GLTFLoader} from './resources/threejs/r125/examples/jsm/loaders/GLTFLoader.js';
-+import {SkeletonUtils} from './resources/threejs/r125/examples/jsm/utils/SkeletonUtils.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
+import {GLTFLoader} from './resources/threejs/r127/examples/jsm/loaders/GLTFLoader.js';
++import {SkeletonUtils} from './resources/threejs/r127/examples/jsm/utils/SkeletonUtils.js';
 ```
 ```
 
 
 Then we can clone the models we just loaded
 Then we can clone the models we just loaded
@@ -1678,10 +1678,10 @@ While we're at it lets make it so we can turn them on/off using dat.GUI like
 we've used else where
 we've used else where
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-import {GLTFLoader} from './resources/threejs/r125/examples/jsm/loaders/GLTFLoader.js';
-import {SkeletonUtils} from './resources/threejs/r125/examples/jsm/utils/SkeletonUtils.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
+import {GLTFLoader} from './resources/threejs/r127/examples/jsm/loaders/GLTFLoader.js';
+import {SkeletonUtils} from './resources/threejs/r127/examples/jsm/utils/SkeletonUtils.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 5 - 5
threejs/lessons/threejs-lights.md

@@ -29,8 +29,8 @@ an optional feature of three.js so first we need to include them
 in our page
 in our page
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 Then we can use them. We pass the `OrbitControls` a camera to
 Then we can use them. We pass the `OrbitControls` a camera to
@@ -477,9 +477,9 @@ To use the `RectAreaLight` we need to include some extra three.js optional data
 include the `RectAreaLightHelper` to help us visualize the light
 include the `RectAreaLightHelper` to help us visualize the light
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {RectAreaLightUniformsLib} from './resources/threejs/r125/examples/jsm/lights/RectAreaLightUniformsLib.js';
-+import {RectAreaLightHelper} from './resources/threejs/r125/examples/jsm/helpers/RectAreaLightHelper.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {RectAreaLightUniformsLib} from './resources/threejs/r127/examples/jsm/lights/RectAreaLightUniformsLib.js';
++import {RectAreaLightHelper} from './resources/threejs/r127/examples/jsm/helpers/RectAreaLightHelper.js';
 ```
 ```
 
 
 and we need to call `RectAreaLightUniformsLib.init`
 and we need to call `RectAreaLightUniformsLib.init`

+ 4 - 4
threejs/lessons/threejs-load-gltf.md

@@ -103,10 +103,10 @@ I kept the auto framing code as before
 We also need to include the `GLTFLoader` and we can get rid of the `OBJLoader`.
 We also need to include the `GLTFLoader` and we can get rid of the `OBJLoader`.
 
 
 ```html
 ```html
--import {LoaderSupport} from './resources/threejs/r125/examples/jsm/loaders/LoaderSupport.js';
--import {OBJLoader} from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
--import {MTLLoader} from './resources/threejs/r125/examples/jsm/loaders/MTLLoader.js';
-+import {GLTFLoader} from './resources/threejs/r125/examples/jsm/loaders/GLTFLoader.js';
+-import {LoaderSupport} from './resources/threejs/r127/examples/jsm/loaders/LoaderSupport.js';
+-import {OBJLoader} from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
+-import {MTLLoader} from './resources/threejs/r127/examples/jsm/loaders/MTLLoader.js';
++import {GLTFLoader} from './resources/threejs/r127/examples/jsm/loaders/GLTFLoader.js';
 ```
 ```
 
 
 And running that we get
 And running that we get

+ 5 - 5
threejs/lessons/threejs-load-obj.md

@@ -46,7 +46,7 @@ that were being added to the scene.
 From that the first thing we need to do is include the `OBJLoader` loader in our script.
 From that the first thing we need to do is include the `OBJLoader` loader in our script.
 
 
 ```js
 ```js
-import {OBJLoader} from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
+import {OBJLoader} from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
 ```
 ```
 
 
 Then to load the .OBJ file we create an instance of `OBJLoader`,
 Then to load the .OBJ file we create an instance of `OBJLoader`,
@@ -143,10 +143,10 @@ Now that we have the textures available we can load the .MTL file.
 First we need to include the `MTLLoader`;
 First we need to include the `MTLLoader`;
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-import {OBJLoader} from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
-+import {MTLLoader} from './resources/threejs/r125/examples/jsm/loaders/MTLLoader.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
+import {OBJLoader} from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
++import {MTLLoader} from './resources/threejs/r127/examples/jsm/loaders/MTLLoader.js';
 ```
 ```
 
 
 Then we first load the .MTL file. When it's finished loading we add
 Then we first load the .MTL file. When it's finished loading we add

+ 1 - 1
threejs/lessons/threejs-multiple-scenes.md

@@ -445,7 +445,7 @@ No change to the visuals but the code is even more generic.
 Adding interactively, for example a `TrackballControls` is just as easy. First we add the script for the control.
 Adding interactively, for example a `TrackballControls` is just as easy. First we add the script for the control.
 
 
 ```js
 ```js
-import {TrackballControls} from './resources/threejs/r125/examples/jsm/controls/TrackballControls.js';
+import {TrackballControls} from './resources/threejs/r127/examples/jsm/controls/TrackballControls.js';
 ```
 ```
 
 
 And then we can add a `TrackballControls` to each scene passing in the element associated with that scene.
 And then we can add a `TrackballControls` to each scene passing in the element associated with that scene.

+ 5 - 5
threejs/lessons/threejs-offscreencanvas.md

@@ -280,7 +280,7 @@ we rename `main` to `init` since we already have a `main` in our
 HTML file and we need to export `init` and `state`
 HTML file and we need to export `init` and `state`
 
 
 ```js
 ```js
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 -const state = {
 -const state = {
 +export const state = {
 +export const state = {
@@ -644,7 +644,7 @@ of the DOM events they use. Maybe we could pass in our own
 object that has the same API surface as a DOM element. 
 object that has the same API surface as a DOM element. 
 We only need to support the features the OrbitControls need.
 We only need to support the features the OrbitControls need.
 
 
-Digging through the [OrbitControls source code](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r125/examples/js/controls/OrbitControls.js)
+Digging through the [OrbitControls source code](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r127/examples/js/controls/OrbitControls.js)
 it looks like we need to handle the following events.
 it looks like we need to handle the following events.
 
 
 * contextmenu
 * contextmenu
@@ -678,7 +678,7 @@ tell the difference.
 Here's the code for the worker part.
 Here's the code for the worker part.
 
 
 ```js
 ```js
-import {EventDispatcher} from './resources/threejs/r125/build/three.module.js';
+import {EventDispatcher} from './resources/threejs/r127/build/three.module.js';
 
 
 class ElementProxyReceiver extends EventDispatcher {
 class ElementProxyReceiver extends EventDispatcher {
   constructor() {
   constructor() {
@@ -763,8 +763,8 @@ self.onmessage = function(e) {
 In our shared three.js code we need to import the `OrbitControls` and set them up.
 In our shared three.js code we need to import the `OrbitControls` and set them up.
 
 
 ```js
 ```js
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 export function init(data) {
 export function init(data) {
 -  const {canvas} = data;
 -  const {canvas} = data;

+ 4 - 4
threejs/lessons/threejs-optimize-lots-of-objects-animated.md

@@ -373,10 +373,10 @@ because the original webgl globe uses
 We need to include the library
 We need to include the library
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {BufferGeometryUtils} from './resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-+import {TWEEN} from './resources/threejs/r125/examples/jsm/libs/tween.min.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {BufferGeometryUtils} from './resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
++import {TWEEN} from './resources/threejs/r127/examples/jsm/libs/tween.min.js';
 ```
 ```
 
 
 And then create a `Tween` to animate the influences.
 And then create a `Tween` to animate the influences.

+ 1 - 1
threejs/lessons/threejs-optimize-lots-of-objects.md

@@ -429,7 +429,7 @@ them into a single mesh.
 We also need to include the `BufferGeometryUtils`
 We also need to include the `BufferGeometryUtils`
 
 
 ```js
 ```js
-import {BufferGeometryUtils} from './resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
+import {BufferGeometryUtils} from './resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
 ```
 ```
 
 
 And now, at least on my machine, I get 60 frames per second
 And now, at least on my machine, I get 60 frames per second

+ 3 - 3
threejs/lessons/threejs-post-processing-3dlut.md

@@ -288,7 +288,7 @@ We also need to capture an image of the thing we want to apply the LUT to, in th
 We then go it into an image editor, in my case Photoshop, load up the sample image, and paste the 3DLUT in the top left corner
 We then go it into an image editor, in my case Photoshop, load up the sample image, and paste the 3DLUT in the top left corner
 
 
 > note: I first tried dragging and dropping the lut file on top of the image
 > note: I first tried dragging and dropping the lut file on top of the image
-> in Photoshop but that didn't work. Photoshop made the image twice a large.
+> in Photoshop but that didn't work. Photoshop made the image twice as large.
 > I'm guessing it was trying to match DPI or something. Loading the lut file
 > I'm guessing it was trying to match DPI or something. Loading the lut file
 > separately and then copying and pasting it into the screen capture worked.
 > separately and then copying and pasting it into the screen capture worked.
 
 
@@ -418,7 +418,7 @@ One last thing, just for fun, it turns out there's a standard LUT format defined
 
 
 I wrote a quick loader. Unfortunately there's 4 variations of the format but I could only find examples of 1 variation so I couldn't easily test that all variations work.
 I wrote a quick loader. Unfortunately there's 4 variations of the format but I could only find examples of 1 variation so I couldn't easily test that all variations work.
 
 
-I also write a quick drag and drop library. Let's use both to make it so you can drag and drop an Adobe LUT file to see it take affect.
+I also wrote a quick drag and drop library. Let's use both to make it so you can drag and drop an Adobe LUT file to see it take affect.
 
 
 First we need the 2 libraries
 First we need the 2 libraries
 
 
@@ -491,7 +491,7 @@ so you should be able to [download an Adobe LUT](https://www.google.com/search?q
 
 
 Note that Adobe LUTs are not designed for online usage. They are large files. You can convert them to smaller files and save as our PNG format by dragging and dropping on the sample below, choosing a size and clicking "Save...".
 Note that Adobe LUTs are not designed for online usage. They are large files. You can convert them to smaller files and save as our PNG format by dragging and dropping on the sample below, choosing a size and clicking "Save...".
 
 
-The sample below is just a modification of the code above. We only draw the background picture, no glTF file. That picture is the an identity lut image created from the script above. We then use the effect to apply whatever LUT file is loaded so the result is the image we'd need to reproduce the LUT file as a PNG.
+The sample below is just a modification of the code above. We only draw the background picture, no glTF file. That picture is an identity lut image created from the script above. We then use the effect to apply whatever LUT file is loaded so the result is the image we'd need to reproduce the LUT file as a PNG.
 
 
 {{{example url="../threejs-postprocessing-adobe-lut-to-png-converter.html" }}}
 {{{example url="../threejs-postprocessing-adobe-lut-to-png-converter.html" }}}
 
 

+ 4 - 4
threejs/lessons/threejs-post-processing.md

@@ -107,10 +107,10 @@ render to the next render target.
 To use these classes we need to import a bunch of scripts.
 To use these classes we need to import a bunch of scripts.
 
 
 ```js
 ```js
-import {EffectComposer} from './resources/threejs/r125/examples/jsm/postprocessing/EffectComposer.js';
-import {RenderPass} from './resources/threejs/r125/examples/jsm/postprocessing/RenderPass.js';
-import {BloomPass} from './resources/threejs/r125/examples/jsm/postprocessing/BloomPass.js';
-import {FilmPass} from './resources/threejs/r125/examples/jsm/postprocessing/FilmPass.js';
+import {EffectComposer} from './resources/threejs/r127/examples/jsm/postprocessing/EffectComposer.js';
+import {RenderPass} from './resources/threejs/r127/examples/jsm/postprocessing/RenderPass.js';
+import {BloomPass} from './resources/threejs/r127/examples/jsm/postprocessing/BloomPass.js';
+import {FilmPass} from './resources/threejs/r127/examples/jsm/postprocessing/FilmPass.js';
 ```
 ```
 
 
 For pretty much any post processing `EffectComposer.js`, and `RenderPass.js`
 For pretty much any post processing `EffectComposer.js`, and `RenderPass.js`

+ 1 - 1
threejs/lessons/threejs-prerequisites.md

@@ -24,7 +24,7 @@ both
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 

+ 4 - 4
threejs/lessons/threejs-rendering-on-demand.md

@@ -30,8 +30,8 @@ First we'll add in the `OrbitControls` so there is something that could change
 that we can render in response to.
 that we can render in response to.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 and set them up
 and set them up
@@ -179,8 +179,8 @@ below slides.
 Let's also add a simple dat.GUI GUI and make its changes render on demand.
 Let's also add a simple dat.GUI GUI and make its changes render on demand.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 2 - 2
threejs/lessons/threejs-transparency.md

@@ -381,8 +381,8 @@ gui.add(new AllMaterialPropertyGUIHelper('transparent', scene), 'value')
 and of course we need to include dat.gui
 and of course we need to include dat.gui
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 2 - 2
threejs/lessons/threejs-webvr.md

@@ -52,8 +52,8 @@ The first thing we need to do is include the VR support after
 including three.js
 including three.js
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {VRButton} from './resources/threejs/r125/examples/jsm/webxr/VRButton.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {VRButton} from './resources/threejs/r127/examples/jsm/webxr/VRButton.js';
 ```
 ```
 
 
 Then we need to enable three.js's WebXR support and add its
 Then we need to enable three.js's WebXR support and add its

+ 3 - 6
threejs/lessons/tr/threejs-fundamentals.md

@@ -86,7 +86,7 @@ First let's load three.js
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 </script>
 </script>
 ```
 ```
 
 
@@ -109,7 +109,7 @@ We will ask three.js to draw into that canvas so we need to look it up.
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 +function main() {
 +function main() {
 +  const canvas = document.querySelector('#c');
 +  const canvas = document.querySelector('#c');
@@ -407,7 +407,7 @@ both
 </p>
 </p>
 <pre class=prettyprint>
 <pre class=prettyprint>
 &lt;script type="module"&gt;
 &lt;script type="module"&gt;
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 
@@ -478,6 +478,3 @@ version of this site so going forward this site will only show es6 module style.
 to support legacy browsers look into a <a href="https://babeljs.io">transpiler</a>.</p>
 to support legacy browsers look into a <a href="https://babeljs.io">transpiler</a>.</p>
 </div>
 </div>
 
 
-<!-- needed in English only to prevent warning from outdated translations -->
-<a href="threejs-geometry.html"></a>
-<a href="Geometry"></a>

+ 3 - 3
threejs/lessons/zh_cn/threejs-fundamentals.md

@@ -53,7 +53,7 @@ ES6的语法。[点击这里查看你需要提前掌握的东西](threejs-prereq
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 </script>
 </script>
 ```
 ```
 
 
@@ -71,7 +71,7 @@ Three.js需要使用这个canvas标签来绘制,所以我们要先获取它然
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 +function main() {
 +function main() {
 +  const canvas = document.querySelector('#c');
 +  const canvas = document.querySelector('#c');
@@ -302,7 +302,7 @@ function render(time) {
 </p>
 </p>
 <pre class=prettyprint>
 <pre class=prettyprint>
 &lt;script type="module"&gt;
 &lt;script type="module"&gt;
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 ...
 ...
 
 

+ 5 - 5
threejs/lessons/zh_cn/threejs-lights.md

@@ -20,8 +20,8 @@ const camera = new THREE.PerspectiveCamera(fov, aspect, near, far);
 然后我们添加一个 `OrbitControls`。`OrbitControls` 让我们可以围绕某一个点旋转控制相机。`OrbitControls` 是 three.js 的可选模块,所以我们首先需要引入这个模块。
 然后我们添加一个 `OrbitControls`。`OrbitControls` 让我们可以围绕某一个点旋转控制相机。`OrbitControls` 是 three.js 的可选模块,所以我们首先需要引入这个模块。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 然后我们就可以使用了。创建 `OrbitControls` 时传入两个参数,一个是要控制的相机对象,第二个是检测事件的 DOM 元素。
 然后我们就可以使用了。创建 `OrbitControls` 时传入两个参数,一个是要控制的相机对象,第二个是检测事件的 DOM 元素。
@@ -392,9 +392,9 @@ Three.js 中还有一种类型的光照,矩形区域光(`RectAreaLight`),
 为了使用 `RectAreaLight`,我们需要引入 three.js 的`RectAreaLightUniformsLib` 模块,同时使用 `RectAreaLightHelper` 来辅助查看灯光对象。
 为了使用 `RectAreaLight`,我们需要引入 three.js 的`RectAreaLightUniformsLib` 模块,同时使用 `RectAreaLightHelper` 来辅助查看灯光对象。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {RectAreaLightUniformsLib} from './resources/threejs/r125/examples/jsm/lights/RectAreaLightUniformsLib.js';
-+import {RectAreaLightHelper} from './resources/threejs/r125/examples/jsm/helpers/RectAreaLightHelper.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {RectAreaLightUniformsLib} from './resources/threejs/r127/examples/jsm/lights/RectAreaLightUniformsLib.js';
++import {RectAreaLightHelper} from './resources/threejs/r127/examples/jsm/helpers/RectAreaLightHelper.js';
 ```
 ```
 
 
 我们需要先调用 `RectAreaLightUniformsLib.init`
 我们需要先调用 `RectAreaLightUniformsLib.init`

+ 5 - 5
threejs/lessons/zh_cn/threejs-load-obj.md

@@ -28,7 +28,7 @@ TOC: 加载 .OBJ 文件
 第一件要做的事就是将`OBJLoader`添加到代码中。
 第一件要做的事就是将`OBJLoader`添加到代码中。
 
 
 ```js
 ```js
-import {OBJLoader} from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
+import {OBJLoader} from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
 ```
 ```
 
 
 然后创建`OBJLoader`的实例并通过URL加载我们的.OBJ文件,并在回调函数中将已加载完的模型添加到场景(scene)里。
 然后创建`OBJLoader`的实例并通过URL加载我们的.OBJ文件,并在回调函数中将已加载完的模型添加到场景(scene)里。
@@ -109,10 +109,10 @@ map_Ns windmill_001_base_SPEC.jpg
 首先要引用 `MTLLoader`;
 首先要引用 `MTLLoader`;
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-import {OBJLoader} from './resources/threejs/r125/examples/jsm/loaders/OBJLoader.js';
-+import {MTLLoader} from './resources/threejs/r125/examples/jsm/loaders/MTLLoader.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
+import {OBJLoader} from './resources/threejs/r127/examples/jsm/loaders/OBJLoader.js';
++import {MTLLoader} from './resources/threejs/r127/examples/jsm/loaders/MTLLoader.js';
 ```
 ```
 
 
 {{{warning msgId="badTranslation"}}}
 {{{warning msgId="badTranslation"}}}

+ 4 - 4
threejs/lessons/zh_cn/threejs-optimize-lots-of-objects-animated.md

@@ -314,10 +314,10 @@ showFileInfo(fileInfos, fileInfos[0]);
 我们这里首先引入它
 我们这里首先引入它
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {BufferGeometryUtils} from './resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
-+import {TWEEN} from './resources/threejs/r125/examples/jsm/libs/tween.min.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {BufferGeometryUtils} from './resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
++import {TWEEN} from './resources/threejs/r127/examples/jsm/libs/tween.min.js';
 ```
 ```
 
 
 然后创建一个`Tween`来使influence变化
 然后创建一个`Tween`来使influence变化

+ 1 - 1
threejs/lessons/zh_cn/threejs-optimize-lots-of-objects.md

@@ -369,7 +369,7 @@ function addBoxes(file) {
 别忘了引入`BufferGeometryUtils`
 别忘了引入`BufferGeometryUtils`
 
 
 ```js
 ```js
-import {BufferGeometryUtils} from './resources/threejs/r125/examples/jsm/utils/BufferGeometryUtils.js';
+import {BufferGeometryUtils} from './resources/threejs/r127/examples/jsm/utils/BufferGeometryUtils.js';
 ```
 ```
 
 
 现在, 至少在我的机器上, 可以跑到60帧每秒了
 现在, 至少在我的机器上, 可以跑到60帧每秒了

+ 4 - 4
threejs/lessons/zh_cn/threejs-post-processing.md

@@ -73,10 +73,10 @@ composer.addPass(filmPass);
 为了使用这些类,我们需要导入一些js模块
 为了使用这些类,我们需要导入一些js模块
 
 
 ```js
 ```js
-import {EffectComposer} from './resources/threejs/r125/examples/jsm/postprocessing/EffectComposer.js';
-import {RenderPass} from './resources/threejs/r125/examples/jsm/postprocessing/RenderPass.js';
-import {BloomPass} from './resources/threejs/r125/examples/jsm/postprocessing/BloomPass.js';
-import {FilmPass} from './resources/threejs/r125/examples/jsm/postprocessing/FilmPass.js';
+import {EffectComposer} from './resources/threejs/r127/examples/jsm/postprocessing/EffectComposer.js';
+import {RenderPass} from './resources/threejs/r127/examples/jsm/postprocessing/RenderPass.js';
+import {BloomPass} from './resources/threejs/r127/examples/jsm/postprocessing/BloomPass.js';
+import {FilmPass} from './resources/threejs/r127/examples/jsm/postprocessing/FilmPass.js';
 ```
 ```
 
 
 对于几乎所有的后期处理EffectComposer.js,RenderPass.js 都是必需的。
 对于几乎所有的后期处理EffectComposer.js,RenderPass.js 都是必需的。

+ 1 - 1
threejs/lessons/zh_cn/threejs-primitives.md

@@ -134,7 +134,7 @@ function createMaterial() {
 但现在我们不会绘制很多图形,所以没有必要太担心。
 但现在我们不会绘制很多图形,所以没有必要太担心。
 
 
 接着,创建一个函数,`addSolidGeometry`,我们传入一个几何体,
 接着,创建一个函数,`addSolidGeometry`,我们传入一个几何体,
-它通过 `createMaerial` 创建一个随机颜色的材质,通过 `addObject` 添加到场景中。
+它通过 `createMaterial` 创建一个随机颜色的材质,通过 `addObject` 添加到场景中。
 
 
 ```js
 ```js
 function addSolidGeometry(x, y, geometry) {
 function addSolidGeometry(x, y, geometry) {

+ 4 - 4
threejs/lessons/zh_cn/threejs-rendering-on-demand.md

@@ -24,8 +24,8 @@ First we'll add in the `OrbitControls` so there is something that could change
 that we can render in response to.
 that we can render in response to.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 然后
 然后
@@ -153,8 +153,8 @@ render();
 让我们加一个简单的GUI
 让我们加一个简单的GUI
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 +import {GUI} from '../3rdparty/dat.gui.module.js';
 ```
 ```
 
 

+ 1 - 1
threejs/offscreencanvas-cubes.js

@@ -1,4 +1,4 @@
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 const state = {
 const state = {
   width: 300,   // canvas default
   width: 300,   // canvas default

+ 1 - 1
threejs/offscreencanvas-worker-orbitcontrols.js

@@ -1,5 +1,5 @@
 import {init} from './shared-orbitcontrols.js';
 import {init} from './shared-orbitcontrols.js';
-import {EventDispatcher} from './resources/threejs/r125/build/three.module.js';
+import {EventDispatcher} from './resources/threejs/r127/build/three.module.js';
 
 
 function noop() {
 function noop() {
 }
 }

+ 1 - 1
threejs/shared-cubes.js

@@ -1,4 +1,4 @@
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 export const state = {
 export const state = {
   width: 300,   // canvas default
   width: 300,   // canvas default

+ 2 - 2
threejs/shared-orbitcontrols.js

@@ -1,5 +1,5 @@
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 export function init(data) {   /* eslint-disable-line no-unused-vars */
 export function init(data) {   /* eslint-disable-line no-unused-vars */
   const {canvas, inputElement} = data;
   const {canvas, inputElement} = data;

+ 1 - 1
threejs/shared-picking.js

@@ -1,4 +1,4 @@
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 export const state = {
 export const state = {
   width: 300,   // canvas default
   width: 300,   // canvas default

+ 2 - 2
threejs/threejs-align-html-elements-to-3d-globe-too-many-labels.html

@@ -59,8 +59,8 @@
     </div>
     </div>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-align-html-elements-to-3d-globe.html

@@ -59,8 +59,8 @@
     </div>
     </div>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 import {GUI} from '../3rdparty/dat.gui.module.js';
 import {GUI} from '../3rdparty/dat.gui.module.js';
 
 
 function main() {
 function main() {

+ 2 - 2
threejs/threejs-align-html-to-3d-w-hiding.html

@@ -56,8 +56,8 @@
     </div>
     </div>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-align-html-to-3d-w-sorting.html

@@ -58,8 +58,8 @@
     </div>
     </div>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-align-html-to-3d.html

@@ -56,8 +56,8 @@
     </div>
     </div>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 1 - 1
threejs/threejs-background-css.html

@@ -23,7 +23,7 @@
     <canvas id="c"></canvas>
     <canvas id="c"></canvas>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-background-cubemap.html

@@ -21,8 +21,8 @@
     <canvas id="c"></canvas>
     <canvas id="c"></canvas>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-background-equirectangularmap.html

@@ -21,8 +21,8 @@
     <canvas id="c"></canvas>
     <canvas id="c"></canvas>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 1 - 1
threejs/threejs-background-scene-background-fixed-aspect.html

@@ -21,7 +21,7 @@
     <canvas id="c"></canvas>
     <canvas id="c"></canvas>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 1 - 1
threejs/threejs-background-scene-background.html

@@ -21,7 +21,7 @@
     <canvas id="c"></canvas>
     <canvas id="c"></canvas>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 1 - 1
threejs/threejs-background-separate-scene-bad-aspect.html

@@ -21,7 +21,7 @@
     <canvas id="c"></canvas>
     <canvas id="c"></canvas>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 1 - 1
threejs/threejs-background-separate-scene.html

@@ -21,7 +21,7 @@
     <canvas id="c"></canvas>
     <canvas id="c"></canvas>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-billboard-labels-w-sprites-adjust-height.html

@@ -21,8 +21,8 @@
     <canvas id="c"></canvas>
     <canvas id="c"></canvas>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r125/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r125/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r127/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r127/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

Some files were not shown because too many files changed in this diff