Browse Source

bump to r122

Gregg Tavares 4 years ago
parent
commit
8d2a4e8563
100 changed files with 254 additions and 254 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. 2 2
      threejs/lessons/ja/threejs-fundamentals.md
  6. 6 6
      threejs/lessons/ja/threejs-load-gltf.md
  7. 6 6
      threejs/lessons/ja/threejs-load-obj.md
  8. 5 5
      threejs/lessons/ja/threejs-offscreencanvas.md
  9. 4 4
      threejs/lessons/ja/threejs-optimize-lots-of-objects-animated.md
  10. 1 1
      threejs/lessons/ja/threejs-optimize-lots-of-objects.md
  11. 1 1
      threejs/lessons/ja/threejs-prerequisites.md
  12. 4 4
      threejs/lessons/ja/threejs-rendering-on-demand.md
  13. 4 4
      threejs/lessons/kr/threejs-align-html-elements-to-3d.md
  14. 1 1
      threejs/lessons/kr/threejs-backgrounds.md
  15. 2 2
      threejs/lessons/kr/threejs-canvas-textures.md
  16. 2 2
      threejs/lessons/kr/threejs-custom-geometry.md
  17. 3 3
      threejs/lessons/kr/threejs-fundamentals.md
  18. 8 8
      threejs/lessons/kr/threejs-game.md
  19. 5 5
      threejs/lessons/kr/threejs-lights.md
  20. 4 4
      threejs/lessons/kr/threejs-load-gltf.md
  21. 6 6
      threejs/lessons/kr/threejs-load-obj.md
  22. 1 1
      threejs/lessons/kr/threejs-multiple-scenes.md
  23. 5 5
      threejs/lessons/kr/threejs-offscreencanvas.md
  24. 4 4
      threejs/lessons/kr/threejs-optimize-lots-of-objects-animated.md
  25. 1 1
      threejs/lessons/kr/threejs-optimize-lots-of-objects.md
  26. 4 4
      threejs/lessons/kr/threejs-post-processing.md
  27. 1 1
      threejs/lessons/kr/threejs-prerequisites.md
  28. 4 4
      threejs/lessons/kr/threejs-rendering-on-demand.md
  29. 2 2
      threejs/lessons/kr/threejs-transparency.md
  30. 1 1
      threejs/lessons/resources/threejs-cameras.js
  31. 1 1
      threejs/lessons/resources/threejs-custom-buffergeometry.js
  32. 2 2
      threejs/lessons/resources/threejs-fog.js
  33. 2 2
      threejs/lessons/resources/threejs-lesson-utils.js
  34. 2 2
      threejs/lessons/resources/threejs-lights.js
  35. 1 1
      threejs/lessons/resources/threejs-lots-of-objects.js
  36. 1 1
      threejs/lessons/resources/threejs-materials.js
  37. 1 1
      threejs/lessons/resources/threejs-primitives.js
  38. 1 1
      threejs/lessons/resources/threejs-textures.js
  39. 2 2
      threejs/lessons/resources/threejs-voxel-geometry.js
  40. 2 2
      threejs/lessons/ru/threejs-custom-geometry.md
  41. 1 1
      threejs/lessons/ru/threejs-fundamentals.md
  42. 5 5
      threejs/lessons/ru/threejs-lights.md
  43. 1 1
      threejs/lessons/ru/threejs-multiple-scenes.md
  44. 5 5
      threejs/lessons/ru/threejs-offscreencanvas.md
  45. 4 4
      threejs/lessons/ru/threejs-optimize-lots-of-objects-animated.md
  46. 1 1
      threejs/lessons/ru/threejs-optimize-lots-of-objects.md
  47. 1 1
      threejs/lessons/ru/threejs-prerequisites.md
  48. 4 4
      threejs/lessons/ru/threejs-rendering-on-demand.md
  49. 4 4
      threejs/lessons/threejs-align-html-elements-to-3d.md
  50. 1 1
      threejs/lessons/threejs-backgrounds.md
  51. 2 2
      threejs/lessons/threejs-canvas-textures.md
  52. 2 2
      threejs/lessons/threejs-custom-geometry.md
  53. 3 3
      threejs/lessons/threejs-fundamentals.md
  54. 8 8
      threejs/lessons/threejs-game.md
  55. 5 5
      threejs/lessons/threejs-lights.md
  56. 4 4
      threejs/lessons/threejs-load-gltf.md
  57. 6 6
      threejs/lessons/threejs-load-obj.md
  58. 1 1
      threejs/lessons/threejs-multiple-scenes.md
  59. 5 5
      threejs/lessons/threejs-offscreencanvas.md
  60. 4 4
      threejs/lessons/threejs-optimize-lots-of-objects-animated.md
  61. 1 1
      threejs/lessons/threejs-optimize-lots-of-objects.md
  62. 4 4
      threejs/lessons/threejs-post-processing.md
  63. 1 1
      threejs/lessons/threejs-prerequisites.md
  64. 4 4
      threejs/lessons/threejs-rendering-on-demand.md
  65. 2 2
      threejs/lessons/threejs-transparency.md
  66. 2 2
      threejs/lessons/threejs-webvr.md
  67. 3 3
      threejs/lessons/zh_cn/threejs-fundamentals.md
  68. 6 6
      threejs/lessons/zh_cn/threejs-load-obj.md
  69. 1 1
      threejs/offscreencanvas-cubes.js
  70. 1 1
      threejs/offscreencanvas-worker-orbitcontrols.js
  71. 1 1
      threejs/shared-cubes.js
  72. 2 2
      threejs/shared-orbitcontrols.js
  73. 1 1
      threejs/shared-picking.js
  74. 2 2
      threejs/threejs-align-html-elements-to-3d-globe-too-many-labels.html
  75. 2 2
      threejs/threejs-align-html-elements-to-3d-globe.html
  76. 2 2
      threejs/threejs-align-html-to-3d-w-hiding.html
  77. 2 2
      threejs/threejs-align-html-to-3d-w-sorting.html
  78. 2 2
      threejs/threejs-align-html-to-3d.html
  79. 1 1
      threejs/threejs-background-css.html
  80. 2 2
      threejs/threejs-background-cubemap.html
  81. 2 2
      threejs/threejs-background-equirectangularmap.html
  82. 1 1
      threejs/threejs-background-scene-background-fixed-aspect.html
  83. 1 1
      threejs/threejs-background-scene-background.html
  84. 1 1
      threejs/threejs-background-separate-scene-bad-aspect.html
  85. 1 1
      threejs/threejs-background-separate-scene.html
  86. 2 2
      threejs/threejs-billboard-labels-w-sprites-adjust-height.html
  87. 2 2
      threejs/threejs-billboard-labels-w-sprites.html
  88. 2 2
      threejs/threejs-billboard-trees-no-billboards.html
  89. 2 2
      threejs/threejs-billboard-trees-static-billboards.html
  90. 2 2
      threejs/threejs-cameras-logarithmic-depth-buffer.html
  91. 2 2
      threejs/threejs-cameras-orthographic-2-scenes.html
  92. 1 1
      threejs/threejs-cameras-orthographic-canvas-top-left-origin.html
  93. 2 2
      threejs/threejs-cameras-perspective-2-scenes.html
  94. 2 2
      threejs/threejs-cameras-perspective.html
  95. 2 2
      threejs/threejs-cameras-z-fighting.html
  96. 1 1
      threejs/threejs-canvas-textured-cube-qix.html
  97. 1 1
      threejs/threejs-canvas-textured-cube.html
  98. 2 2
      threejs/threejs-canvas-textured-labels-one-canvas.html
  99. 2 2
      threejs/threejs-canvas-textured-labels-scale-to-fit.html
  100. 2 2
      threejs/threejs-canvas-textured-labels.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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-import {GLTFLoader} from './resources/threejs/r119/examples/jsm/loaders/GLTFLoader.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
+import {GLTFLoader} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-import {GLTFLoader} from './resources/threejs/r119/examples/jsm/loaders/GLTFLoader.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
+import {GLTFLoader} from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/build/three.module.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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
 
 
 ...
 ...
 
 

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

@@ -96,10 +96,10 @@ objLoader.loadMtl('resources/models/windmill/windmill-fixed.mtl', null, (materia
 また `OBJLoader2` を取り除き `GLTFLoader` を含める必要があります。
 また `OBJLoader2` を取り除き `GLTFLoader` を含める必要があります。
 
 
 ```html
 ```html
--import {LoaderSupport} from './resources/threejs/r119/examples/jsm/loaders/LoaderSupport.js';
--import {OBJLoader2} from './resources/threejs/r119/examples/jsm/loaders/OBJLoader2.js';
--import {MTLLoader} from './resources/threejs/r119/examples/jsm/loaders/MTLLoader.js';
-+import {GLTFLoader} from './resources/threejs/r119/examples/jsm/loaders/GLTFLoader.js';
+-import {LoaderSupport} from './resources/threejs/r122/examples/jsm/loaders/LoaderSupport.js';
+-import {OBJLoader2} from './resources/threejs/r122/examples/jsm/loaders/OBJLoader2.js';
+-import {MTLLoader} from './resources/threejs/r122/examples/jsm/loaders/MTLLoader.js';
++import {GLTFLoader} from './resources/threejs/r122/examples/jsm/loaders/GLTFLoader.js';
 ```
 ```
 
 
 実行すると以下になりました。
 実行すると以下になりました。
@@ -138,7 +138,7 @@ gltfLoader.load('resources/models/cartoon_lowpoly_small_city_free_pack/scene.glt
   console.log(dumpObject(root).join('\n'));
   console.log(dumpObject(root).join('\n'));
 ```
 ```
 
 
-[実行すると](./threejs-load-gltf-dump-scenegraph.html) このようなリストが得られました。
+[実行すると](../threejs-load-gltf-dump-scenegraph.html) このようなリストが得られました。
 
 
 ```text
 ```text
 OSG_Scene [Scene]
 OSG_Scene [Scene]
@@ -398,7 +398,7 @@ let curveObject;
 このコードの最初の部分は曲線を作ります。
 このコードの最初の部分は曲線を作ります。
 コードの2番目の部分は曲線から250頂点を生成し、その250頂点を結んで作られた線を表示するオブジェクトを作成します。
 コードの2番目の部分は曲線から250頂点を生成し、その250頂点を結んで作られた線を表示するオブジェクトを作成します。
 
 
-[このサンプル](./threejs-load-gltf-car-path.html)を実行してもカーブが見えませんでした。
+[このサンプル](../threejs-load-gltf-car-path.html)を実行してもカーブが見えませんでした。
 見えるようにするために、深度テストを無視して最後にレンダリングするようにしました。
 見えるようにするために、深度テストを無視して最後にレンダリングするようにしました。
 
 
 ```js
 ```js

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

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

+ 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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/examples/js/controls/OrbitControls.js)を掘り下げてみると、次のイベントを処理する必要があるように見えます。
+[OrbitControlsのソースコード](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r122/examples/js/controls/OrbitControls.js)を掘り下げてみると、次のイベントを処理する必要があるように見えます。
 
 
 * contextmenu
 * contextmenu
 * mousedown
 * mousedown
@@ -640,7 +640,7 @@ OrbitControlsが必要とする機能をサポートする必要があります
 ここにWorker部分のコードがあります。
 ここにWorker部分のコードがあります。
 
 
 ```js
 ```js
-import {EventDispatcher} from './resources/threejs/r119/build/three.module.js';
+import {EventDispatcher} from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {BufferGeometryUtils} from './resources/threejs/r119/examples/jsm/utils/BufferGeometryUtils.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-+import {TWEEN} from './resources/threejs/r119/examples/jsm/libs/tween.min.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {BufferGeometryUtils} from './resources/threejs/r122/examples/jsm/utils/BufferGeometryUtils.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
++import {TWEEN} from './resources/threejs/r122/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/r119/examples/jsm/utils/BufferGeometryUtils.js';
+import {BufferGeometryUtils} from './resources/threejs/r122/examples/jsm/utils/BufferGeometryUtils.js';
 ```
 ```
 
 
 少なくとも私のマシンでは毎秒60フレームになりました。
 少なくとも私のマシンでは毎秒60フレームになりました。

+ 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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 次に以下のように設定します。
 次に以下のように設定します。
@@ -167,8 +167,8 @@ render();
 シンプルなdat.GUIを追加し、GUIで値の変更時にレンダリングを要求してみましょう。
 シンプルなdat.GUIを追加し、GUIで値の変更時にレンダリングを要求してみましょう。
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r122/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/r119/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r122/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/r119/examples/jsm/controls/OrbitControls.js';
+import { OrbitControls } from './resources/threejs/r122/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/r119/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r122/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/r119/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
 </script>
 </script>
 ```
 ```
 
 
@@ -107,7 +107,7 @@ import * as THREE from './resources/threejs/r119/build/three.module.js';
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-import { GLTFLoader } from './resources/threejs/r119/examples/jsm/loaders/GLTFLoader.js';
-+import { SkeletonUtils } from './resources/threejs/r119/examples/jsm/utils/SkeletonUtils.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
+import { GLTFLoader } from './resources/threejs/r122/examples/jsm/loaders/GLTFLoader.js';
++import { SkeletonUtils } from './resources/threejs/r122/examples/jsm/utils/SkeletonUtils.js';
 ```
 ```
 
 
 그리고 아까 불러왔던 모델을 복사합니다.
 그리고 아까 불러왔던 모델을 복사합니다.
@@ -1492,10 +1492,10 @@ class Animal extends Component {
 추가로 dat.GUI를 이용해 위 디버깅 요소들를 켜고 끌 수 있도록 합니다.
 추가로 dat.GUI를 이용해 위 디버깅 요소들를 켜고 끌 수 있도록 합니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r119/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-import { GLTFLoader } from './resources/threejs/r119/examples/jsm/loaders/GLTFLoader.js';
-import { SkeletonUtils } from './resources/threejs/r119/examples/jsm/utils/SkeletonUtils.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
+import { GLTFLoader } from './resources/threejs/r122/examples/jsm/loaders/GLTFLoader.js';
+import { SkeletonUtils } from './resources/threejs/r122/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/r119/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r122/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/r119/build/three.module.js';
-+import { RectAreaLightUniformsLib } from './resources/threejs/r119/examples/jsm/lights/RectAreaLightUniformsLib.js';
-+import { RectAreaLightHelper } from './resources/threejs/r119/examples/jsm/helpers/RectAreaLightHelper.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import { RectAreaLightUniformsLib } from './resources/threejs/r122/examples/jsm/lights/RectAreaLightUniformsLib.js';
++import { RectAreaLightHelper } from './resources/threejs/r122/examples/jsm/helpers/RectAreaLightHelper.js';
 ```
 ```
 
 
 모듈을 불러온 후 `RectAreaLightUniformsLib.init` 메서드를 호출합니다.
 모듈을 불러온 후 `RectAreaLightUniformsLib.init` 메서드를 호출합니다.

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

@@ -102,10 +102,10 @@ objLoader.loadMtl('resources/models/windmill/windmill-fixed.mtl', null, (materia
 추가합니다.
 추가합니다.
 
 
 ```html
 ```html
--import { LoaderSupport } from './resources/threejs/r119/examples/jsm/loaders/LoaderSupport.js';
--import { OBJLoader2 } from './resources/threejs/r119/examples/jsm/loaders/OBJLoader2.js';
--import { MTLLoader } from './resources/threejs/r119/examples/jsm/loaders/MTLLoader.js';
-+import { GLTFLoader } from './resources/threejs/r119/examples/jsm/loaders/GLTFLoader.js';
+-import { LoaderSupport } from './resources/threejs/r122/examples/jsm/loaders/LoaderSupport.js';
+-import { OBJLoader2 } from './resources/threejs/r122/examples/jsm/loaders/OBJLoader2.js';
+-import { MTLLoader } from './resources/threejs/r122/examples/jsm/loaders/MTLLoader.js';
++import { GLTFLoader } from './resources/threejs/r122/examples/jsm/loaders/GLTFLoader.js';
 ```
 ```
 
 
 이제 실행해보죠.
 이제 실행해보죠.

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

@@ -41,7 +41,7 @@ Three.js로 프로젝트를 진행할 때, 3D 모델 파일을 불러와 사용
 다음으로 먼저 `OBJLoader2` 모듈을 스크립트에 로드합니다.
 다음으로 먼저 `OBJLoader2` 모듈을 스크립트에 로드합니다.
 
 
 ```js
 ```js
-import { OBJLoader2 } from './resources/threejs/r119/examples/jsm/loaders/OBJLoader2.js';
+import { OBJLoader2 } from './resources/threejs/r122/examples/jsm/loaders/OBJLoader2.js';
 ```
 ```
 
 
 `OBJLoader2`의 인스턴스를 생성한 뒤 .OBJ 파일의 경로와 콜백 함수를 넘겨
 `OBJLoader2`의 인스턴스를 생성한 뒤 .OBJ 파일의 경로와 콜백 함수를 넘겨
@@ -133,11 +133,11 @@ map_Ns windmill_001_base_SPEC.jpg
 `MTLLoader`와 `MTLObjBridge` 모듈을 불러옵니다.
 `MTLLoader`와 `MTLObjBridge` 모듈을 불러옵니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r119/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-import { OBJLoader2 } from './resources/threejs/r119/examples/jsm/loaders/OBJLoader2.js';
-+import { MTLLoader } from './resources/threejs/r119/examples/jsm/loaders/MTLLoader.js';
-+import { MtlObjBridge } from './resources/threejs/r119/examples/jsm/loaders/obj2/bridge/MtlObjBridge.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
+import { OBJLoader2 } from './resources/threejs/r122/examples/jsm/loaders/OBJLoader2.js';
++import { MTLLoader } from './resources/threejs/r122/examples/jsm/loaders/MTLLoader.js';
++import { MtlObjBridge } from './resources/threejs/r122/examples/jsm/loaders/obj2/bridge/MtlObjBridge.js';
 ```
 ```
 
 
 우선 .MTL 파일을 불러와 `MtlObjBridge`로 재질을 만듭니다. 그리고 `OBJLoader2`
 우선 .MTL 파일을 불러와 `MtlObjBridge`로 재질을 만듭니다. 그리고 `OBJLoader2`

+ 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/r119/examples/jsm/controls/TrackballControls.js';
+import { TrackballControls } from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/examples/js/controls/OrbitControls.js)를 분석해보니 아래의 이벤트만 지원하면 될 듯합니다.
+[`OrbitControls`의 소스 코드](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r122/examples/js/controls/OrbitControls.js)를 분석해보니 아래의 이벤트만 지원하면 될 듯합니다.
 
 
 * contextmenu
 * contextmenu
 * mousedown
 * mousedown
@@ -597,7 +597,7 @@ wheel 이벤트는 `deltaY` 속성만,
 아래는 워커 안의 코드입니다.
 아래는 워커 안의 코드입니다.
 
 
 ```js
 ```js
-import { EventDispatcher } from './resources/threejs/r119/build/three.module.js';
+import { EventDispatcher } from './resources/threejs/r122/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/r119/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r122/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/r119/build/three.module.js';
-import { BufferGeometryUtils } from './resources/threejs/r119/examples/jsm/utils/BufferGeometryUtils.js';
-import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-+import { TWEEN } from './resources/threejs/r119/examples/jsm/libs/tween.min.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import { BufferGeometryUtils } from './resources/threejs/r122/examples/jsm/utils/BufferGeometryUtils.js';
+import { OrbitControls } from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
++import { TWEEN } from './resources/threejs/r122/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/r119/examples/jsm/utils/BufferGeometryUtils.js';
+import { BufferGeometryUtils } from './resources/threejs/r122/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/r119/examples/jsm/postprocessing/EffectComposer.js';
-import { RenderPass } from './resources/threejs/r119/examples/jsm/postprocessing/RenderPass.js';
-import { BloomPass } from './resources/threejs/r119/examples/jsm/postprocessing/BloomPass.js';
-import { FilmPass } from './resources/threejs/r119/examples/jsm/postprocessing/FilmPass.js';
+import { EffectComposer } from './resources/threejs/r122/examples/jsm/postprocessing/EffectComposer.js';
+import { RenderPass } from './resources/threejs/r122/examples/jsm/postprocessing/RenderPass.js';
+import { BloomPass } from './resources/threejs/r122/examples/jsm/postprocessing/BloomPass.js';
+import { FilmPass } from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-+import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import { OrbitControls } from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 
 
 ...
 ...
 
 
@@ -176,8 +176,8 @@ render();
 간단한 dat.GUI를 추가해 반복 렌더링 여부를 제어할 수 있도록 하겠습니다.
 간단한 dat.GUI를 추가해 반복 렌더링 여부를 제어할 수 있도록 하겠습니다.
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r119/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r122/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/r119/build/three.module.js';
-import { OrbitControls } from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import { OrbitControls } from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from '../../resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from '../../resources/threejs/r122/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/r119/build/three.module.js';
-import {GLTFLoader} from '../../resources/threejs/r119/examples/jsm/loaders/GLTFLoader.js';
+import * as THREE from '../../resources/threejs/r122/build/three.module.js';
+import {GLTFLoader} from '../../resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from '../../resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from '../../resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from '../../resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from '../../resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from '../../resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from '../../resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from '../../resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from '../../resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from '../../resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from '../../resources/threejs/r122/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/r119/build/three.module.js';
-import {BufferGeometryUtils} from '../../resources/threejs/r119/examples/jsm/utils/BufferGeometryUtils.js';
+import * as THREE from '../../resources/threejs/r122/build/three.module.js';
+import {BufferGeometryUtils} from '../../resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

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

@@ -42,7 +42,7 @@ Three.js будет рисовать на этом холсте, так что 
 
 
 ```
 ```
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {RectAreaLightUniformsLib} from './resources/threejs/r119/examples/jsm/lights/RectAreaLightUniformsLib.js';
-+import {RectAreaLightHelper} from './resources/threejs/r119/examples/jsm/helpers/RectAreaLightHelper.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {RectAreaLightUniformsLib} from './resources/threejs/r122/examples/jsm/lights/RectAreaLightUniformsLib.js';
++import {RectAreaLightHelper} from './resources/threejs/r122/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/r119/examples/jsm/controls/TrackballControls.js';
+import {TrackballControls} from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/examples/js/controls/OrbitControls.js)
+Копаясь в  [исходном коде OrbitControls](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r122/examples/js/controls/OrbitControls.js)
 похоже, что нам нужно обработать следующие события.
 похоже, что нам нужно обработать следующие события.
 
 
 
 
@@ -647,7 +647,7 @@ window.addEventListener('touchend', clearPickPosition);
 Вот код рабочей части.
 Вот код рабочей части.
 
 
 ```js
 ```js
-import {EventDispatcher} from './resources/threejs/r119/build/three.module.js';
+import {EventDispatcher} from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/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

@@ -364,10 +364,10 @@ showFileInfo(fileInfos, fileInfos[0]);
 Нам нужно включить библиотеку 
 Нам нужно включить библиотеку 
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r119/build/three.module.js';
-import {BufferGeometryUtils} from './resources/threejs/r119/examples/jsm/utils/BufferGeometryUtils.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-+import {TWEEN} from './resources/threejs/r119/examples/jsm/libs/tween.min.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {BufferGeometryUtils} from './resources/threejs/r122/examples/jsm/utils/BufferGeometryUtils.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
++import {TWEEN} from './resources/threejs/r122/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/r119/examples/jsm/utils/BufferGeometryUtils.js';
+import {BufferGeometryUtils} from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 и настроить их
 и настроить их
@@ -172,8 +172,8 @@ render();
 Давайте также добавим простой графический интерфейс dat.GUI и внесем его изменения по запросу. 
 Давайте также добавим простой графический интерфейс dat.GUI и внесем его изменения по запросу. 
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/examples/jsm/controls/OrbitControls.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 ```
 ```
 
 
 ```js
 ```js

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

@@ -447,8 +447,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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-import {GLTFLoader} from './resources/threejs/r119/examples/jsm/loaders/GLTFLoader.js';
-+import {SkeletonUtils} from './resources/threejs/r119/examples/jsm/utils/SkeletonUtils.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
+import {GLTFLoader} from './resources/threejs/r122/examples/jsm/loaders/GLTFLoader.js';
++import {SkeletonUtils} from './resources/threejs/r122/examples/jsm/utils/SkeletonUtils.js';
 ```
 ```
 
 
 Then we can clone the models we just loaded
 Then we can clone the models we just loaded
@@ -1690,10 +1690,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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-import {GLTFLoader} from './resources/threejs/r119/examples/jsm/loaders/GLTFLoader.js';
-import {SkeletonUtils} from './resources/threejs/r119/examples/jsm/utils/SkeletonUtils.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
+import {GLTFLoader} from './resources/threejs/r122/examples/jsm/loaders/GLTFLoader.js';
+import {SkeletonUtils} from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {RectAreaLightUniformsLib} from './resources/threejs/r119/examples/jsm/lights/RectAreaLightUniformsLib.js';
-+import {RectAreaLightHelper} from './resources/threejs/r119/examples/jsm/helpers/RectAreaLightHelper.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {RectAreaLightUniformsLib} from './resources/threejs/r122/examples/jsm/lights/RectAreaLightUniformsLib.js';
++import {RectAreaLightHelper} from './resources/threejs/r122/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

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

+ 6 - 6
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 `OBJLoader2` loader in our script.
 From that the first thing we need to do is include the `OBJLoader2` loader in our script.
 
 
 ```js
 ```js
-import {OBJLoader2} from './resources/threejs/r119/examples/jsm/loaders/OBJLoader2.js';
+import {OBJLoader2} from './resources/threejs/r122/examples/jsm/loaders/OBJLoader2.js';
 ```
 ```
 
 
 Then to load the .OBJ file we create an instance of `OBJLoader2`,
 Then to load the .OBJ file we create an instance of `OBJLoader2`,
@@ -143,11 +143,11 @@ Now that we have the textures available we can load the .MTL file.
 First we need to include the `MTLLoader` and the `MtlObjBridge`;
 First we need to include the `MTLLoader` and the `MtlObjBridge`;
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-import {OBJLoader2} from './resources/threejs/r119/examples/jsm/loaders/OBJLoader2.js';
-+import {MTLLoader} from './resources/threejs/r119/examples/jsm/loaders/MTLLoader.js';
-+import {MtlObjBridge} from './resources/threejs/r119/examples/jsm/loaders/obj2/bridge/MtlObjBridge.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
+import {OBJLoader2} from './resources/threejs/r122/examples/jsm/loaders/OBJLoader2.js';
++import {MTLLoader} from './resources/threejs/r122/examples/jsm/loaders/MTLLoader.js';
++import {MtlObjBridge} from './resources/threejs/r122/examples/jsm/loaders/obj2/bridge/MtlObjBridge.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/r119/examples/jsm/controls/TrackballControls.js';
+import {TrackballControls} from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/examples/js/controls/OrbitControls.js)
+Digging through the [OrbitControls source code](https://github.com/gfxfundamentals/threejsfundamentals/blob/master/threejs/resources/threejs/r122/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/r119/build/three.module.js';
+import {EventDispatcher} from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {BufferGeometryUtils} from './resources/threejs/r119/examples/jsm/utils/BufferGeometryUtils.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-+import {TWEEN} from './resources/threejs/r119/examples/jsm/libs/tween.min.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {BufferGeometryUtils} from './resources/threejs/r122/examples/jsm/utils/BufferGeometryUtils.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
++import {TWEEN} from './resources/threejs/r122/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/r119/examples/jsm/utils/BufferGeometryUtils.js';
+import {BufferGeometryUtils} from './resources/threejs/r122/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

+ 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/r119/examples/jsm/postprocessing/EffectComposer.js';
-import {RenderPass} from './resources/threejs/r119/examples/jsm/postprocessing/RenderPass.js';
-import {BloomPass} from './resources/threejs/r119/examples/jsm/postprocessing/BloomPass.js';
-import {FilmPass} from './resources/threejs/r119/examples/jsm/postprocessing/FilmPass.js';
+import {EffectComposer} from './resources/threejs/r122/examples/jsm/postprocessing/EffectComposer.js';
+import {RenderPass} from './resources/threejs/r122/examples/jsm/postprocessing/RenderPass.js';
+import {BloomPass} from './resources/threejs/r122/examples/jsm/postprocessing/BloomPass.js';
+import {FilmPass} from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-+import {VRButton} from './resources/threejs/r119/examples/jsm/webxr/VRButton.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
++import {VRButton} from './resources/threejs/r122/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 - 3
threejs/lessons/zh_cn/threejs-fundamentals.md

@@ -53,7 +53,7 @@ Three.js经常会和WebGL混淆,
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
 </script>
 </script>
 ```
 ```
 
 
@@ -71,7 +71,7 @@ Three.js将会使用这个canvas标签所以我们要先获取它然后传给thr
 
 
 ```html
 ```html
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
 
 
 +function main() {
 +function main() {
 +  const canvas = document.querySelector('#c');
 +  const canvas = document.querySelector('#c');
@@ -341,7 +341,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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
 
 
 ...
 ...
 
 

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

@@ -28,7 +28,7 @@ TOC: 加载 .OBJ 文件
 第一件要做的事就是将`OBJLoader2`添加到代码中。
 第一件要做的事就是将`OBJLoader2`添加到代码中。
 
 
 ```js
 ```js
-import {OBJLoader2} from './resources/threejs/r119/examples/jsm/loaders/OBJLoader2.js';
+import {OBJLoader2} from './resources/threejs/r122/examples/jsm/loaders/OBJLoader2.js';
 ```
 ```
 
 
 然后创建`OBJLoader2`的实例并通过URL加载我们的.OBJ文件,并在回调函数中将已加载完的模型添加到场景(scene)里。
 然后创建`OBJLoader2`的实例并通过URL加载我们的.OBJ文件,并在回调函数中将已加载完的模型添加到场景(scene)里。
@@ -109,11 +109,11 @@ map_Ns windmill_001_base_SPEC.jpg
 首先要引用 `MTLLoader` 和 `MtlObjBridge`;
 首先要引用 `MTLLoader` 和 `MtlObjBridge`;
 
 
 ```js
 ```js
-import * as THREE from './resources/three/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
-import {OBJLoader2} from './resources/threejs/r119/examples/jsm/loaders/OBJLoader2.js';
-+import {MTLLoader} from './resources/threejs/r119/examples/jsm/loaders/MTLLoader.js';
-+import {MtlObjBridge} from './resources/threejs/r119/examples/jsm/loaders/obj2/bridge/MtlObjBridge.js';
+import * as THREE from './resources/three/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
+import {OBJLoader2} from './resources/threejs/r122/examples/jsm/loaders/OBJLoader2.js';
++import {MTLLoader} from './resources/threejs/r122/examples/jsm/loaders/MTLLoader.js';
++import {MtlObjBridge} from './resources/threejs/r122/examples/jsm/loaders/obj2/bridge/MtlObjBridge.js';
 ```
 ```
 
 
 然后我们先加载.MTL文件,在它加载完材质后利用`MtlObjBridge`将材质传给`OBJLoader2`,再加载.OBJ文件。
 然后我们先加载.MTL文件,在它加载完材质后利用`MtlObjBridge`将材质传给`OBJLoader2`,再加载.OBJ文件。

+ 1 - 1
threejs/offscreencanvas-cubes.js

@@ -1,4 +1,4 @@
-import * as THREE from './resources/threejs/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import {EventDispatcher} from './resources/threejs/r122/build/three.module.js';
 
 
 function noop() {
 function noop() {
 }
 }

+ 1 - 1
threejs/shared-cubes.js

@@ -1,4 +1,4 @@
-import * as THREE from './resources/threejs/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-billboard-labels-w-sprites.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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-billboard-trees-no-billboards.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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-billboard-trees-static-billboards.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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-cameras-logarithmic-depth-buffer.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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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-cameras-orthographic-2-scenes.html

@@ -37,8 +37,8 @@
     </div>
     </div>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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() {

+ 1 - 1
threejs/threejs-cameras-orthographic-canvas-top-left-origin.html

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

+ 2 - 2
threejs/threejs-cameras-perspective-2-scenes.html

@@ -37,8 +37,8 @@
     </div>
     </div>
   </body>
   </body>
 <script type="module">
 <script type="module">
-import * as THREE from './resources/threejs/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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-cameras-perspective.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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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-cameras-z-fighting.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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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() {

+ 1 - 1
threejs/threejs-canvas-textured-cube-qix.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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 1 - 1
threejs/threejs-canvas-textured-cube.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/r119/build/three.module.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-canvas-textured-labels-one-canvas.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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-canvas-textured-labels-scale-to-fit.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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/examples/jsm/controls/OrbitControls.js';
 
 
 function main() {
 function main() {
   const canvas = document.querySelector('#c');
   const canvas = document.querySelector('#c');

+ 2 - 2
threejs/threejs-canvas-textured-labels.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/r119/build/three.module.js';
-import {OrbitControls} from './resources/threejs/r119/examples/jsm/controls/OrbitControls.js';
+import * as THREE from './resources/threejs/r122/build/three.module.js';
+import {OrbitControls} from './resources/threejs/r122/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