Skip to content

Commit 2f8afad

Browse files
authored
Examples: Add volumetric fire, enhances the VolumetricLightingModel (#2235)
* Update three.js * Update * Add jsdoc * Update patch and delete jsdoc * Update declarations * Ignore example
1 parent 76ceae5 commit 2f8afad

5 files changed

Lines changed: 84 additions & 1 deletion

File tree

examples-testing/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ const exceptionList = [
7070
'webgpu_tsl_editor',
7171
'webgpu_tsl_transpiler',
7272
'webgpu_video_frame',
73+
'webgpu_volume_fire',
7374
'webxr_ar_camera_access',
7475
'webxr_vr_handinput_cubes',
7576
'webxr_vr_handinput_profiles',

jsdoc-testing/changes.patch

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,49 @@ index fb546510b..1257d8f69 100644
368368
+export const clusteredLights: (maxLights?: number, tileSize?: number, zSlices?: number, maxLightsPerCluster?: number) => ClusteredLightsNode;
369369
+
370370
+export default ClusteredLightsNode;
371+
diff --git a/jsdoc-testing/jsdoc/examples/jsm/tsl/math/curlNoise.d.ts b/jsdoc-testing/jsdoc/examples/jsm/tsl/math/curlNoise.d.ts
372+
index a6101efb7..5bbb73bfc 100644
373+
--- a/jsdoc-testing/jsdoc/examples/jsm/tsl/math/curlNoise.d.ts
374+
+++ b/jsdoc-testing/jsdoc/examples/jsm/tsl/math/curlNoise.d.ts
375+
@@ -1,3 +1,5 @@
376+
+import { Node, Vector3, Vector4 } from 'three/webgpu';
377+
+
378+
/**
379+
* Permutation polynomial for noise generation.
380+
*
381+
@@ -6,7 +8,7 @@
382+
* @param {Node<vec4>} x - Input vector.
383+
* @return {Node<vec4>} Permuted vector.
384+
*/
385+
-export const permute: () => void;
386+
+export const permute: (x: Node<'vec4'> | Vector4) => Node<'vec4'>;
387+
/**
388+
* 3D Simplex noise implementation in TSL.
389+
*
390+
@@ -15,7 +17,7 @@ export const permute: () => void;
391+
* @param {Node<vec3>} v - Input coordinate vector.
392+
* @return {Node<float>} Simplex noise value.
393+
*/
394+
-export const snoise: () => void;
395+
+export const snoise: (v: Node<'vec3'> | Vector3) => Node<'float'>;
396+
/**
397+
* 3D Simplex noise vector. Returns a vec3 containing three independent noise samples.
398+
*
399+
@@ -24,7 +26,7 @@ export const snoise: () => void;
400+
* @param {Node<vec3>} x - Input coordinate vector.
401+
* @return {Node<vec3>} Vector of three noise values.
402+
*/
403+
-export const snoiseVec3: () => void;
404+
+export const snoiseVec3: (x: Node<'vec3'> | Vector3) => Node<'vec3'>;
405+
/**
406+
* 3D Curl noise in TSL. Generates a divergence-free vector field from simplex noise.
407+
*
408+
@@ -33,4 +35,4 @@ export const snoiseVec3: () => void;
409+
* @param {Node<vec3>} p - Input coordinate vector.
410+
* @return {Node<vec3>} Curl noise vector.
411+
*/
412+
-export const curlNoise: () => void;
413+
+export const curlNoise: (p: Node<'vec3'> | Vector3) => Node<'vec3'>;
371414
diff --git a/jsdoc-testing/jsdoc/examples/jsm/tsl/utils/GroundedSkybox.d.ts b/jsdoc-testing/jsdoc/examples/jsm/tsl/utils/GroundedSkybox.d.ts
372415
index e49e7c2b6..0135575bb 100644
373416
--- a/jsdoc-testing/jsdoc/examples/jsm/tsl/utils/GroundedSkybox.d.ts

jsdoc-testing/declarations.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const files = [
99
'examples/jsm/lighting/LightProbeGrid',
1010
'examples/jsm/misc/TileCreasedNormalsPlugin',
1111
'examples/jsm/tsl/lighting/ClusteredLightsNode',
12+
'examples/jsm/tsl/math/curlNoise',
1213
'examples/jsm/tsl/utils/GroundedSkybox',
1314
'examples/jsm/webxr/WebGLXRFallback',
1415
'src/animation/tracks/BooleanKeyframeTrack',
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { Node, Vector3, Vector4 } from "three/webgpu";
2+
3+
/**
4+
* Permutation polynomial for noise generation.
5+
*
6+
* @tsl
7+
* @function
8+
* @param {Node<vec4>} x - Input vector.
9+
* @return {Node<vec4>} Permuted vector.
10+
*/
11+
export const permute: (x: Node<"vec4"> | Vector4) => Node<"vec4">;
12+
/**
13+
* 3D Simplex noise implementation in TSL.
14+
*
15+
* @tsl
16+
* @function
17+
* @param {Node<vec3>} v - Input coordinate vector.
18+
* @return {Node<float>} Simplex noise value.
19+
*/
20+
export const snoise: (v: Node<"vec3"> | Vector3) => Node<"float">;
21+
/**
22+
* 3D Simplex noise vector. Returns a vec3 containing three independent noise samples.
23+
*
24+
* @tsl
25+
* @function
26+
* @param {Node<vec3>} x - Input coordinate vector.
27+
* @return {Node<vec3>} Vector of three noise values.
28+
*/
29+
export const snoiseVec3: (x: Node<"vec3"> | Vector3) => Node<"vec3">;
30+
/**
31+
* 3D Curl noise in TSL. Generates a divergence-free vector field from simplex noise.
32+
*
33+
* @tsl
34+
* @function
35+
* @param {Node<vec3>} p - Input coordinate vector.
36+
* @return {Node<vec3>} Curl noise vector.
37+
*/
38+
export const curlNoise: (p: Node<"vec3"> | Vector3) => Node<"vec3">;

0 commit comments

Comments
 (0)