From 0e307134a221d154f42c77a156b6d7e6e6df6e2f Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Wed, 21 Aug 2024 22:21:36 -0400 Subject: [PATCH] Sky: Add WebGPURenderer version. (#1161) * Sky: Add WebGPURenderer version. * Update three.js * Add examples * Update patch and delete examples * Fix * upUniform * Update --- examples-testing/changes.patch | 20 ++++++++++++++++++++ three.js | 2 +- types/three/examples/jsm/objects/SkyGPU.d.ts | 17 +++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 types/three/examples/jsm/objects/SkyGPU.d.ts diff --git a/examples-testing/changes.patch b/examples-testing/changes.patch index 62b47f289..593a02cbf 100644 --- a/examples-testing/changes.patch +++ b/examples-testing/changes.patch @@ -15091,6 +15091,26 @@ index dc018c6d..6c7faf4d 100644 const planeGeo = new THREE.PlaneGeometry(100.1, 100.1); +diff --git a/examples-testing/examples/webgpu_sky.ts b/examples-testing/examples/webgpu_sky.ts +index 60af1c2d..1b7a8906 100644 +--- a/examples-testing/examples/webgpu_sky.ts ++++ b/examples-testing/examples/webgpu_sky.ts +@@ -1,12 +1,12 @@ +-import * as THREE from 'three'; ++import * as THREE from 'three/webgpu'; + + import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; + import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; + import { Sky } from 'three/addons/objects/SkyGPU.js'; + +-let camera, scene, renderer; ++let camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGPURenderer; + +-let sky, sun; ++let sky: Sky, sun: THREE.Vector3; + + init(); + diff --git a/examples-testing/examples/webgpu_textures_anisotropy.ts b/examples-testing/examples/webgpu_textures_anisotropy.ts index 21cc1197..eec04d7e 100644 --- a/examples-testing/examples/webgpu_textures_anisotropy.ts diff --git a/three.js b/three.js index e117afe64..baf66ab01 160000 --- a/three.js +++ b/three.js @@ -1 +1 @@ -Subproject commit e117afe64e9d6c5eda56d1b7a30a0365c45d1ef6 +Subproject commit baf66ab01115652c59622842f034ea9a5df2a224 diff --git a/types/three/examples/jsm/objects/SkyGPU.d.ts b/types/three/examples/jsm/objects/SkyGPU.d.ts new file mode 100644 index 000000000..4ea1da25a --- /dev/null +++ b/types/three/examples/jsm/objects/SkyGPU.d.ts @@ -0,0 +1,17 @@ +import { Node, ShaderNodeObject, UniformNode } from "three/tsl"; +import { BoxGeometry, Mesh, NodeMaterial, Vector3 } from "three/webgpu"; + +declare class Sky extends Mesh { + turbidity: ShaderNodeObject>; + rayleigh: ShaderNodeObject>; + mieCoefficient: ShaderNodeObject>; + mieDirectionalG: ShaderNodeObject>; + sunPosition: ShaderNodeObject>; + upUniform: ShaderNodeObject>; + + readonly isSky: true; + + constructor(); +} + +export { Sky };