Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 7 additions & 34 deletions examples-testing/changes.patch
Original file line number Diff line number Diff line change
Expand Up @@ -14432,7 +14432,7 @@ index 2405b8ad..bd503c49 100644
pixelBufferTexture.image.data = pixelBuffer;
pixelBufferTexture.needsUpdate = true;
diff --git a/examples-testing/examples/webgpu_ocean.ts b/examples-testing/examples/webgpu_ocean.ts
index f27ed18c..ea15cbee 100644
index 9eb9922d..b75024ec 100644
--- a/examples-testing/examples/webgpu_ocean.ts
+++ b/examples-testing/examples/webgpu_ocean.ts
@@ -1,4 +1,4 @@
Expand All @@ -14442,15 +14442,15 @@ index f27ed18c..ea15cbee 100644
import Stats from 'three/addons/libs/stats.module.js';

@@ -7,14 +7,14 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
import { Water } from 'three/addons/objects/WaterGPU.js';
import { Sky } from 'three/addons/objects/SkyGPU.js';
import { WaterMesh } from 'three/addons/objects/WaterMesh.js';
import { SkyMesh } from 'three/addons/objects/SkyMesh.js';

-let container, stats;
-let camera, scene, renderer;
-let controls, water, sun, mesh;
+let container: HTMLElement, stats: Stats;
+let camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGPURenderer;
+let controls: OrbitControls, water: Water, sun: THREE.Vector3, mesh: THREE.Mesh;
+let controls: OrbitControls, water: WaterMesh, sun: THREE.Vector3, mesh: THREE.Mesh;

init();

Expand Down Expand Up @@ -15147,7 +15147,7 @@ index bf36d911..0e77df7c 100644
init();

diff --git a/examples-testing/examples/webgpu_sky.ts b/examples-testing/examples/webgpu_sky.ts
index 60af1c2d..1b7a8906 100644
index 097d06af..3836e7ee 100644
--- a/examples-testing/examples/webgpu_sky.ts
+++ b/examples-testing/examples/webgpu_sky.ts
@@ -1,12 +1,12 @@
Expand All @@ -15156,13 +15156,13 @@ index 60af1c2d..1b7a8906 100644

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';
import { SkyMesh } from 'three/addons/objects/SkyMesh.js';

-let camera, scene, renderer;
+let camera: THREE.PerspectiveCamera, scene: THREE.Scene, renderer: THREE.WebGPURenderer;

-let sky, sun;
+let sky: Sky, sun: THREE.Vector3;
+let sky: SkyMesh, sun: THREE.Vector3;

init();

Expand Down Expand Up @@ -15825,30 +15825,3 @@ index 2cd50ba4..b97f3eee 100644

isDepthSupplied = false;
});
diff --git a/types/three/examples/jsm/objects/Water2Mesh.d.ts b/types/three/examples/jsm/objects/Water2Mesh.d.ts
index b6a4cbfe..fb9935d4 100644
--- a/types/three/examples/jsm/objects/Water2Mesh.d.ts
+++ b/types/three/examples/jsm/objects/Water2Mesh.d.ts
@@ -1,5 +1,5 @@
import { TempNode, TextureNode, UniformNode, Vector2, Vector3 } from "three/tsl";
-import { BufferGeometry, Color, ColorRepresentation, Mesh, Texture } from "three/webgpu";
+import { BufferGeometry, Color, ColorRepresentation, Mesh, NodeMaterial, Texture } from "three/webgpu";

export interface WaterMeshOptions {
normalMap0: Texture;
@@ -13,7 +13,7 @@ export interface WaterMeshOptions {
scale?: number | undefined;
}

-declare class WaterMesh extends Mesh {
+declare class WaterMesh extends Mesh<BufferGeometry, NodeMaterial> {
readonly isWater: true;

constructor(geometry: BufferGeometry, options: WaterMeshOptions);
@@ -38,4 +38,5 @@ declare class WaterNode extends TempNode {
updateFlow(delta: number): void;
}

-export { WaterNode };
+export { WaterMesh };
+export type { WaterNode };
5 changes: 5 additions & 0 deletions types/three/examples/jsm/Addons.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,13 @@ export * from "./objects/ReflectorForSSRPass.js";
export * from "./objects/Refractor.js";
export * from "./objects/ShadowMesh.js";
export * from "./objects/Sky.js";
export * from "./objects/SkyMesh.js";
export * from "./objects/Water.js";
export { Water as Water2 } from "./objects/Water2.js";
export type { WaterOptions as Water2Options } from "./objects/Water2.js";
export { WaterMesh as Water2Mesh } from "./objects/Water2Mesh.js";
export type { WaterMeshOptions as Water2MeshOptions } from "./objects/Water2Mesh.js";
export * from "./objects/WaterMesh.js";

export * from "./physics/AmmoPhysics.js";
export * from "./physics/RapierPhysics.js";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ShaderNodeObject, UniformNode } from "three/tsl";
import { BoxGeometry, Mesh, NodeMaterial, Vector3 } from "three/webgpu";

declare class Sky extends Mesh<BoxGeometry, NodeMaterial> {
declare class SkyMesh extends Mesh<BoxGeometry, NodeMaterial> {
turbidity: ShaderNodeObject<UniformNode<number>>;
rayleigh: ShaderNodeObject<UniformNode<number>>;
mieCoefficient: ShaderNodeObject<UniformNode<number>>;
Expand All @@ -14,4 +14,4 @@ declare class Sky extends Mesh<BoxGeometry, NodeMaterial> {
constructor();
}

export { Sky };
export { SkyMesh };
4 changes: 2 additions & 2 deletions types/three/examples/jsm/objects/Water2.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { BufferGeometry, ColorRepresentation, Mesh, ShaderMaterial, Texture, Vector2 } from "three";

export interface Water2Options {
export interface WaterOptions {
color?: ColorRepresentation | undefined;
textureWidth?: number | undefined;
textureHeight?: number | undefined;
Expand All @@ -17,5 +17,5 @@ export interface Water2Options {

export class Water extends Mesh {
material: ShaderMaterial;
constructor(geometry: BufferGeometry, options: Water2Options);
constructor(geometry: BufferGeometry, options: WaterOptions);
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { TextureNode, UniformNode } from "three/tsl";
import { BufferGeometry, Color, ColorRepresentation, Mesh, NodeMaterial, Texture, Vector3 } from "three/webgpu";

export interface WaterOptions {
export interface WaterMeshOptions {
resolution?: number | undefined;
waterNormals: Texture;
alpha?: number | undefined;
Expand All @@ -12,7 +12,7 @@ export interface WaterOptions {
distortionScale?: number | undefined;
}

declare class Water extends Mesh<BufferGeometry, NodeMaterial> {
declare class WaterMesh extends Mesh<BufferGeometry, NodeMaterial> {
readonly isWater: true;

resolution: number;
Expand All @@ -25,7 +25,7 @@ declare class Water extends Mesh<BufferGeometry, NodeMaterial> {
waterColor: UniformNode<Color>;
distortionScale: UniformNode<number>;

constructor(geometry: BufferGeometry, options: WaterOptions);
constructor(geometry: BufferGeometry, options: WaterMeshOptions);
}

export { Water };
export { WaterMesh };