Skip to content

Use Pavel fluid simulation with point-cloud emitters - #5

Merged
Lyptik merged 18 commits into
mainfrom
feat/pavel-fluid-point-cloud-input
Oct 2, 2026
Merged

Lyptik merged 18 commits into
mainfrom
feat/pavel-fluid-point-cloud-input

Conversation

@Lyptik

@Lyptik Lyptik commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Goal

Make the WebDemo visuals match Pavel Dobryakov's WebGL Fluid Simulation as closely as possible, while replacing mouse/multitouch input with Augmenta point-cloud emitters.

Implementation

  • ports the reference rendering pipeline from PavelDoGreat/WebGL-Fluid-Simulation pinned at a2d292931f19d9b3b9f564e23e6c32729d2121c3
  • preserves the upstream default visual parameters:
    • SIM_RESOLUTION 128
    • DYE_RESOLUTION 1024 (512 on mobile / no linear filtering, as upstream)
    • DENSITY_DISSIPATION 1
    • VELOCITY_DISSIPATION 0.2
    • PRESSURE 0.8 / 20 iterations
    • CURL 30
    • SPLAT_RADIUS 0.25
    • SPLAT_FORCE 6000
    • shading, bloom and sunrays with the original defaults
  • includes the original LDR_LLL1_0.png dithering texture
  • removes mouse/touch/random-splat input from the embedded engine
  • evenly subsamples each Augmenta point cloud into pointer-equivalent emitters
  • uses sampled point displacement as the pointer delta, with cluster velocity as a fallback if point ordering jumps
  • shares a bounded emitter budget across simultaneous point clouds to stay close to multi-touch behavior and avoid oversaturating the reference simulation
  • keeps Pavel's colorful pointer-color behavior
  • simplifies the Visuals section to one Fluid simulation toggle
  • keeps the original Three.js viewer underneath as the fallback when fluid visuals are disabled or unsupported
  • adds focused tests for point-cloud sampling, projection, emitter budgets, and preservation of upstream defaults
  • ships the dithering texture through the existing Pages assembly flow

Version: 0.3.0

@Lyptik
Lyptik merged commit 42b3585 into main Oct 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant