2
0
Mr.doob 3 жил өмнө
parent
commit
ea80c212e0
30 өөрчлөгдсөн 80 нэмэгдсэн , 27 устгасан
  1. 1 1
      docs/manual/ar/introduction/WebGL-compatibility-check.html
  2. 1 1
      docs/manual/en/introduction/WebGL-compatibility-check.html
  3. 1 1
      docs/manual/ja/introduction/WebGL-compatibility-check.html
  4. 1 1
      docs/manual/ko/introduction/WebGL-compatibility-check.html
  5. 1 1
      docs/manual/zh/introduction/WebGL-compatibility-check.html
  6. 26 0
      examples/js/capabilities/ImportMaps.js
  7. 0 0
      examples/js/capabilities/WebGL.js
  8. 27 0
      examples/js/capabilities/WebGPU.js
  9. 0 0
      examples/jsm/capabilities/WebGL.js
  10. 1 1
      examples/jsm/capabilities/WebGPU.js
  11. 1 1
      examples/webgl2_buffergeometry_attributes_integer.html
  12. 1 1
      examples/webgl2_materials_texture2darray.html
  13. 1 1
      examples/webgl2_materials_texture3d.html
  14. 1 1
      examples/webgl2_materials_texture3d_partialupdate.html
  15. 1 1
      examples/webgl2_multiple_rendertargets.html
  16. 1 1
      examples/webgl2_multisampled_renderbuffers.html
  17. 1 1
      examples/webgl2_rendertarget_texture2darray.html
  18. 1 1
      examples/webgl2_volume_cloud.html
  19. 1 1
      examples/webgl2_volume_instancing.html
  20. 1 1
      examples/webgl2_volume_perlin.html
  21. 1 1
      examples/webgpu_compute.html
  22. 1 1
      examples/webgpu_instance_uniform.html
  23. 1 1
      examples/webgpu_lights_custom.html
  24. 1 1
      examples/webgpu_lights_selective.html
  25. 1 1
      examples/webgpu_materials.html
  26. 1 1
      examples/webgpu_nodes_playground.html
  27. 1 1
      examples/webgpu_rtt.html
  28. 1 1
      examples/webgpu_sandbox.html
  29. 1 1
      examples/webgpu_skinning.html
  30. 2 2
      examples/webgpu_skinning_points.html

+ 1 - 1
docs/manual/ar/introduction/WebGL-compatibility-check.html

@@ -14,7 +14,7 @@
 		</p>
 		</p>
 
 
 		<p>
 		<p>
-			أضف [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/WebGL.js] إلى جافا سكريبت الخاص بك وقم بتشغيل ما يلي قبل محاولة تقديم أي شيء.
+			أضف [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/capabilities/WebGL.js] إلى جافا سكريبت الخاص بك وقم بتشغيل ما يلي قبل محاولة تقديم أي شيء.
 		</p>
 		</p>
 
 
 		<code>
 		<code>

+ 1 - 1
docs/manual/en/introduction/WebGL-compatibility-check.html

@@ -14,7 +14,7 @@
 		</p>
 		</p>
 
 
 		<p>
 		<p>
-			Add	[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/WebGL.js]
+			Add	[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/capabilities/WebGL.js]
 			to your javascript and run the following before attempting to render anything.
 			to your javascript and run the following before attempting to render anything.
 		</p>
 		</p>
 
 

+ 1 - 1
docs/manual/ja/introduction/WebGL-compatibility-check.html

@@ -13,7 +13,7 @@
 		</p>
 		</p>
 
 
 		<p>
 		<p>
-			javascriptのコードに[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/WebGL.js]を付け加えて、何かを描画する前に以下のコードを実行してください。
+			javascriptのコードに[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/capabilities/WebGL.js]を付け加えて、何かを描画する前に以下のコードを実行してください。
 		</p>
 		</p>
 
 
 		<code>
 		<code>

+ 1 - 1
docs/manual/ko/introduction/WebGL-compatibility-check.html

@@ -14,7 +14,7 @@
 		</p>
 		</p>
 
 
 		<p>
 		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/WebGL.js]를 스크립트에 추가하고 무언가를 렌더링하기 전에 아래 코드를 실행해보세요.
+			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/capabilities/WebGL.js]를 스크립트에 추가하고 무언가를 렌더링하기 전에 아래 코드를 실행해보세요.
 		</p>
 		</p>
 
 
 		<code>
 		<code>

+ 1 - 1
docs/manual/zh/introduction/WebGL-compatibility-check.html

@@ -13,7 +13,7 @@
 		</p>
 		</p>
 
 
 		<p>
 		<p>
-			请将[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/WebGL.js]引入到你的文件,并在尝试开始渲染之前先运行该文件。
+			请将[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/capabilities/WebGL.js]引入到你的文件,并在尝试开始渲染之前先运行该文件。
         	</p>
         	</p>
 
 
 <code>
 <code>

+ 26 - 0
examples/js/capabilities/ImportMaps.js

@@ -0,0 +1,26 @@
+( function () {
+class ImportMaps {
+  static isAvailable() {
+    return 'supports' in HTMLScriptElement && HTMLScriptElement.supports('importmap');
+  }
+
+  static getErrorMessage() {
+    const message = 'Your browser does not support <a href="https://wicg.github.io/import-maps/" style="color:blue">Import Maps</a>';
+    const element = document.createElement('div');
+    element.style.fontFamily = 'monospace';
+    element.style.fontSize = '13px';
+    element.style.fontWeight = 'normal';
+    element.style.textAlign = 'center';
+    element.style.background = '#fff';
+    element.style.color = '#000';
+    element.style.padding = '1.5em';
+    element.style.width = '400px';
+    element.style.margin = '5em auto 0';
+    element.innerHTML = message;
+    return element;
+  }
+
+}
+
+THREE.ImportMaps as default = ImportMaps as default;
+} )();

+ 0 - 0
examples/js/WebGL.js → examples/js/capabilities/WebGL.js


+ 27 - 0
examples/js/capabilities/WebGPU.js

@@ -0,0 +1,27 @@
+( function () {
+class WebGPU {
+  static isAvailable() {
+    return navigator.gpu !== undefined;
+  }
+
+  static getErrorMessage() {
+    const message = 'Your browser does not support <a href="https://gpuweb.github.io/gpuweb/" style="color:blue">WebGPU</a>';
+    const element = document.createElement('div');
+    element.id = 'webgpumessage';
+    element.style.fontFamily = 'monospace';
+    element.style.fontSize = '13px';
+    element.style.fontWeight = 'normal';
+    element.style.textAlign = 'center';
+    element.style.background = '#fff';
+    element.style.color = '#000';
+    element.style.padding = '1.5em';
+    element.style.width = '400px';
+    element.style.margin = '5em auto 0';
+    element.innerHTML = message;
+    return element;
+  }
+
+}
+
+THREE.WebGPU as default = WebGPU as default;
+} )();

+ 0 - 0
examples/jsm/WebGL.js → examples/jsm/capabilities/WebGL.js


+ 1 - 1
examples/jsm/renderers/webgpu/WebGPU.js → examples/jsm/capabilities/WebGPU.js

@@ -8,7 +8,7 @@ class WebGPU {
 
 
 	static getErrorMessage() {
 	static getErrorMessage() {
 
 
-		const message = 'Your browser does not support <a href="https://gpuweb.github.io/gpuweb/" style="color:#000">WebGPU</a>.';
+		const message = 'Your browser does not support <a href="https://gpuweb.github.io/gpuweb/" style="color:blue">WebGPU</a>';
 
 
 		const element = document.createElement( 'div' );
 		const element = document.createElement( 'div' );
 		element.id = 'webgpumessage';
 		element.id = 'webgpumessage';

+ 1 - 1
examples/webgl2_buffergeometry_attributes_integer.html

@@ -48,7 +48,7 @@
 
 
 			import * as THREE from '../build/three.module.js';
 			import * as THREE from '../build/three.module.js';
 
 
-			import { WEBGL } from './jsm/WebGL.js';
+			import { WEBGL } from './jsm/capabilities/WebGL.js';
 
 
 			if ( WEBGL.isWebGL2Available() === false ) {
 			if ( WEBGL.isWebGL2Available() === false ) {
 
 

+ 1 - 1
examples/webgl2_materials_texture2darray.html

@@ -58,7 +58,7 @@
 			import Stats from './jsm/libs/stats.module.js';
 			import Stats from './jsm/libs/stats.module.js';
 			import { unzipSync } from './jsm/libs/fflate.module.js';
 			import { unzipSync } from './jsm/libs/fflate.module.js';
 
 
-			import { WEBGL } from './jsm/WebGL.js';
+			import { WEBGL } from './jsm/capabilities/WebGL.js';
 
 
 			if ( WEBGL.isWebGL2Available() === false ) {
 			if ( WEBGL.isWebGL2Available() === false ) {
 
 

+ 1 - 1
examples/webgl2_materials_texture3d.html

@@ -20,7 +20,7 @@
 		import { OrbitControls } from './jsm/controls/OrbitControls.js';
 		import { OrbitControls } from './jsm/controls/OrbitControls.js';
 		import { NRRDLoader } from './jsm/loaders/NRRDLoader.js';
 		import { NRRDLoader } from './jsm/loaders/NRRDLoader.js';
 		import { VolumeRenderShader1 } from './jsm/shaders/VolumeShader.js';
 		import { VolumeRenderShader1 } from './jsm/shaders/VolumeShader.js';
-		import { WEBGL } from './jsm/WebGL.js';
+		import { WEBGL } from './jsm/capabilities/WebGL.js';
 
 
 		if ( WEBGL.isWebGL2Available() === false ) {
 		if ( WEBGL.isWebGL2Available() === false ) {
 
 

+ 1 - 1
examples/webgl2_materials_texture3d_partialupdate.html

@@ -18,7 +18,7 @@
 			import { ImprovedNoise } from './jsm/math/ImprovedNoise.js';
 			import { ImprovedNoise } from './jsm/math/ImprovedNoise.js';
 
 
 			import { GUI } from './jsm/libs/lil-gui.module.min.js';
 			import { GUI } from './jsm/libs/lil-gui.module.min.js';
-			import { WEBGL } from './jsm/WebGL.js';
+			import { WEBGL } from './jsm/capabilities/WebGL.js';
 
 
 			if ( WEBGL.isWebGL2Available() === false ) {
 			if ( WEBGL.isWebGL2Available() === false ) {
 
 

+ 1 - 1
examples/webgl2_multiple_rendertargets.html

@@ -109,7 +109,7 @@
 
 
 			import * as THREE from '../build/three.module.js';
 			import * as THREE from '../build/three.module.js';
 
 
-			import { WEBGL } from './jsm/WebGL.js';
+			import { WEBGL } from './jsm/capabilities/WebGL.js';
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
 
 
 			let camera, scene, renderer, controls;
 			let camera, scene, renderer, controls;

+ 1 - 1
examples/webgl2_multisampled_renderbuffers.html

@@ -41,7 +41,7 @@
 			import { RenderPass } from './jsm/postprocessing/RenderPass.js';
 			import { RenderPass } from './jsm/postprocessing/RenderPass.js';
 			import { ShaderPass } from './jsm/postprocessing/ShaderPass.js';
 			import { ShaderPass } from './jsm/postprocessing/ShaderPass.js';
 			import { CopyShader } from './jsm/shaders/CopyShader.js';
 			import { CopyShader } from './jsm/shaders/CopyShader.js';
-			import { WEBGL } from './jsm/WebGL.js';
+			import { WEBGL } from './jsm/capabilities/WebGL.js';
 
 
 			let camera, renderer, clock, group, container;
 			let camera, renderer, clock, group, container;
 
 

+ 1 - 1
examples/webgl2_rendertarget_texture2darray.html

@@ -103,7 +103,7 @@
 			import { unzipSync } from './jsm/libs/fflate.module.js';
 			import { unzipSync } from './jsm/libs/fflate.module.js';
 			import { GUI } from './jsm/libs/lil-gui.module.min.js';
 			import { GUI } from './jsm/libs/lil-gui.module.min.js';
 
 
-			import { WEBGL } from './jsm/WebGL.js';
+			import { WEBGL } from './jsm/capabilities/WebGL.js';
 
 
 			if ( WEBGL.isWebGL2Available() === false ) {
 			if ( WEBGL.isWebGL2Available() === false ) {
 
 

+ 1 - 1
examples/webgl2_volume_cloud.html

@@ -18,7 +18,7 @@
 			import { ImprovedNoise } from './jsm/math/ImprovedNoise.js';
 			import { ImprovedNoise } from './jsm/math/ImprovedNoise.js';
 
 
 			import { GUI } from './jsm/libs/lil-gui.module.min.js';
 			import { GUI } from './jsm/libs/lil-gui.module.min.js';
-			import { WEBGL } from './jsm/WebGL.js';
+			import { WEBGL } from './jsm/capabilities/WebGL.js';
 
 
 			if ( WEBGL.isWebGL2Available() === false ) {
 			if ( WEBGL.isWebGL2Available() === false ) {
 
 

+ 1 - 1
examples/webgl2_volume_instancing.html

@@ -17,7 +17,7 @@
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
 			import { VOXLoader, VOXDataTexture3D } from './jsm/loaders/VOXLoader.js';
 			import { VOXLoader, VOXDataTexture3D } from './jsm/loaders/VOXLoader.js';
 
 
-			import { WEBGL } from './jsm/WebGL.js';
+			import { WEBGL } from './jsm/capabilities/WebGL.js';
 
 
 			if ( WEBGL.isWebGL2Available() === false ) {
 			if ( WEBGL.isWebGL2Available() === false ) {
 
 

+ 1 - 1
examples/webgl2_volume_perlin.html

@@ -18,7 +18,7 @@
 			import { ImprovedNoise } from './jsm/math/ImprovedNoise.js';
 			import { ImprovedNoise } from './jsm/math/ImprovedNoise.js';
 
 
 			import { GUI } from './jsm/libs/lil-gui.module.min.js';
 			import { GUI } from './jsm/libs/lil-gui.module.min.js';
-			import { WEBGL } from './jsm/WebGL.js';
+			import { WEBGL } from './jsm/capabilities/WebGL.js';
 
 
 			if ( WEBGL.isWebGL2Available() === false ) {
 			if ( WEBGL.isWebGL2Available() === false ) {
 
 

+ 1 - 1
examples/webgpu_compute.html

@@ -38,8 +38,8 @@
 
 
 			import { GUI } from './jsm/libs/lil-gui.module.min.js';
 			import { GUI } from './jsm/libs/lil-gui.module.min.js';
 
 
+			import WebGPU from './jsm/capabilities/WebGPU.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
-			import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
 
 
 			import WebGPUStorageBuffer from './jsm/renderers/webgpu/WebGPUStorageBuffer.js';
 			import WebGPUStorageBuffer from './jsm/renderers/webgpu/WebGPUStorageBuffer.js';
 			import WebGPUUniformBuffer from './jsm/renderers/webgpu/WebGPUUniformBuffer.js';
 			import WebGPUUniformBuffer from './jsm/renderers/webgpu/WebGPUUniformBuffer.js';

+ 1 - 1
examples/webgpu_instance_uniform.html

@@ -37,8 +37,8 @@
 
 
 			import * as THREE from 'three';
 			import * as THREE from 'three';
 
 
+			import WebGPU from './jsm/capabilities/WebGPU.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
-			import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
 
 
 			import { TeapotGeometry } from './jsm/geometries/TeapotGeometry.js';
 			import { TeapotGeometry } from './jsm/geometries/TeapotGeometry.js';
 
 

+ 1 - 1
examples/webgpu_lights_custom.html

@@ -36,8 +36,8 @@
 
 
 			import * as THREE from 'three';
 			import * as THREE from 'three';
 
 
+			import WebGPU from './jsm/capabilities/WebGPU.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
-			import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
 
 
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
 
 

+ 1 - 1
examples/webgpu_lights_selective.html

@@ -46,8 +46,8 @@
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
 			import { TeapotGeometry } from './jsm/geometries/TeapotGeometry.js';
 			import { TeapotGeometry } from './jsm/geometries/TeapotGeometry.js';
 
 
+			import WebGPU from './jsm/capabilities/WebGPU.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
-			import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
 
 
 			import * as Nodes from './jsm/renderers/nodes/Nodes.js';
 			import * as Nodes from './jsm/renderers/nodes/Nodes.js';
 
 

+ 1 - 1
examples/webgpu_materials.html

@@ -37,8 +37,8 @@
 
 
 			import * as THREE from 'three';
 			import * as THREE from 'three';
 
 
+			import WebGPU from './jsm/capabilities/WebGPU.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
-			import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
 
 
 			import { TeapotGeometry } from './jsm/geometries/TeapotGeometry.js';
 			import { TeapotGeometry } from './jsm/geometries/TeapotGeometry.js';
 
 

+ 1 - 1
examples/webgpu_nodes_playground.html

@@ -63,8 +63,8 @@
 
 
 			import * as THREE from 'three';
 			import * as THREE from 'three';
 
 
+			import WebGPU from './jsm/capabilities/WebGPU.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
-			import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
 
 
 			import { NodeEditor } from './jsm/node-editor/NodeEditor.js';
 			import { NodeEditor } from './jsm/node-editor/NodeEditor.js';
 			import { StandardMaterialEditor } from './jsm/node-editor/materials/StandardMaterialEditor.js';
 			import { StandardMaterialEditor } from './jsm/node-editor/materials/StandardMaterialEditor.js';

+ 1 - 1
examples/webgpu_rtt.html

@@ -36,9 +36,9 @@
 
 
 			import * as THREE from 'three';
 			import * as THREE from 'three';
 
 
+			import WebGPU from './jsm/capabilities/WebGPU.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPUTextureRenderer from './jsm/renderers/webgpu/WebGPUTextureRenderer.js';
 			import WebGPUTextureRenderer from './jsm/renderers/webgpu/WebGPUTextureRenderer.js';
-			import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
 
 
 			import * as Nodes from './jsm/renderers/nodes/Nodes.js';
 			import * as Nodes from './jsm/renderers/nodes/Nodes.js';
 
 

+ 1 - 1
examples/webgpu_sandbox.html

@@ -38,8 +38,8 @@
 
 
 			import { DDSLoader } from './jsm/loaders/DDSLoader.js';
 			import { DDSLoader } from './jsm/loaders/DDSLoader.js';
 
 
+			import WebGPU from './jsm/capabilities/WebGPU.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
-			import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
 
 
 			import * as Nodes from './jsm/renderers/nodes/Nodes.js';
 			import * as Nodes from './jsm/renderers/nodes/Nodes.js';
 
 

+ 1 - 1
examples/webgpu_skinning.html

@@ -40,8 +40,8 @@
 
 
 			import { FBXLoader } from './jsm/loaders/FBXLoader.js';
 			import { FBXLoader } from './jsm/loaders/FBXLoader.js';
 
 
+			import WebGPU from './jsm/capabilities/WebGPU.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
-			import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
 
 
 			import LightsNode from './jsm/renderers/nodes/lights/LightsNode.js';
 			import LightsNode from './jsm/renderers/nodes/lights/LightsNode.js';
 
 

+ 2 - 2
examples/webgpu_skinning_points.html

@@ -11,7 +11,7 @@
 	<body>
 	<body>
 
 
 		<div id="info">
 		<div id="info">
-			<a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> - WebGPU - Skinning Points
+			<a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> WebGPU - Skinning Points
 		</div>
 		</div>
 
 
 		<script type="importmap">
 		<script type="importmap">
@@ -40,8 +40,8 @@
 
 
 			import { FBXLoader } from './jsm/loaders/FBXLoader.js';
 			import { FBXLoader } from './jsm/loaders/FBXLoader.js';
 
 
+			import WebGPU from './jsm/capabilities/WebGPU.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
 			import WebGPURenderer from './jsm/renderers/webgpu/WebGPURenderer.js';
-			import WebGPU from './jsm/renderers/webgpu/WebGPU.js';
 
 
 			import * as Nodes from './jsm/renderers/nodes/Nodes.js';
 			import * as Nodes from './jsm/renderers/nodes/Nodes.js';