├── .eslintignore ├── .eslintrc ├── .gitignore ├── .prettierignore ├── .prettierrc ├── README.md ├── docs ├── .nojekyll ├── assets │ ├── index.7b4d0330.css │ ├── index.8b00da75.js │ └── vendor.f90b6438.js ├── index.html └── webgpu-demo-preview-min.png ├── index.html ├── package.json ├── preview.png ├── public └── webgpu-demo-preview-min.png ├── src ├── assets │ └── webgpu-demo-preview-min.png ├── camera │ ├── camera-controller.ts │ ├── orthographic-camera.ts │ └── perspective-camera.ts ├── compute │ └── metaballs.ts ├── constants.ts ├── debug │ ├── shadow-debugger.ts │ └── texture-debugger-base.ts ├── geometry │ ├── create-box.ts │ └── marching-cubes.ts ├── helpers │ ├── clamp.ts │ ├── deg-to-rad.ts │ ├── get-chrome-version.ts │ └── get-text-3d-positions.ts ├── lighting │ ├── point-lights.ts │ └── spot-light.ts ├── main.ts ├── meshes │ ├── box-outline.ts │ ├── ground.ts │ ├── metaballs.ts │ └── particles.ts ├── postfx │ ├── bloom-pass.ts │ ├── copy-pass.ts │ ├── deferred-pass.ts │ ├── effect.ts │ └── result-pass.ts ├── protocol.ts ├── settings.ts ├── shaders │ ├── bloom-blur-compute.ts │ ├── bloom-pass.ts │ ├── box-outline.ts │ ├── copy-pass.ts │ ├── deferred-pass.ts │ ├── ground.ts │ ├── metaball.ts │ ├── particles.ts │ ├── point-lights-compute.ts │ ├── result-pass.ts │ └── shared-chunks.ts ├── style.css ├── vite-env.d.ts └── webgpu-renderer.ts ├── tsconfig.json └── vite.config.js /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | docs -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/.eslintrc -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | docs-ssr 4 | *.local -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | docs -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/.prettierrc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/README.md -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/assets/index.7b4d0330.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/docs/assets/index.7b4d0330.css -------------------------------------------------------------------------------- /docs/assets/index.8b00da75.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/docs/assets/index.8b00da75.js -------------------------------------------------------------------------------- /docs/assets/vendor.f90b6438.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/docs/assets/vendor.f90b6438.js -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/docs/index.html -------------------------------------------------------------------------------- /docs/webgpu-demo-preview-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/docs/webgpu-demo-preview-min.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/index.html -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/package.json -------------------------------------------------------------------------------- /preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/preview.png -------------------------------------------------------------------------------- /public/webgpu-demo-preview-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/public/webgpu-demo-preview-min.png -------------------------------------------------------------------------------- /src/assets/webgpu-demo-preview-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/assets/webgpu-demo-preview-min.png -------------------------------------------------------------------------------- /src/camera/camera-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/camera/camera-controller.ts -------------------------------------------------------------------------------- /src/camera/orthographic-camera.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/camera/orthographic-camera.ts -------------------------------------------------------------------------------- /src/camera/perspective-camera.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/camera/perspective-camera.ts -------------------------------------------------------------------------------- /src/compute/metaballs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/compute/metaballs.ts -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/constants.ts -------------------------------------------------------------------------------- /src/debug/shadow-debugger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/debug/shadow-debugger.ts -------------------------------------------------------------------------------- /src/debug/texture-debugger-base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/debug/texture-debugger-base.ts -------------------------------------------------------------------------------- /src/geometry/create-box.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/geometry/create-box.ts -------------------------------------------------------------------------------- /src/geometry/marching-cubes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/geometry/marching-cubes.ts -------------------------------------------------------------------------------- /src/helpers/clamp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/helpers/clamp.ts -------------------------------------------------------------------------------- /src/helpers/deg-to-rad.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/helpers/deg-to-rad.ts -------------------------------------------------------------------------------- /src/helpers/get-chrome-version.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/helpers/get-chrome-version.ts -------------------------------------------------------------------------------- /src/helpers/get-text-3d-positions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/helpers/get-text-3d-positions.ts -------------------------------------------------------------------------------- /src/lighting/point-lights.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/lighting/point-lights.ts -------------------------------------------------------------------------------- /src/lighting/spot-light.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/lighting/spot-light.ts -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/main.ts -------------------------------------------------------------------------------- /src/meshes/box-outline.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/meshes/box-outline.ts -------------------------------------------------------------------------------- /src/meshes/ground.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/meshes/ground.ts -------------------------------------------------------------------------------- /src/meshes/metaballs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/meshes/metaballs.ts -------------------------------------------------------------------------------- /src/meshes/particles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/meshes/particles.ts -------------------------------------------------------------------------------- /src/postfx/bloom-pass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/postfx/bloom-pass.ts -------------------------------------------------------------------------------- /src/postfx/copy-pass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/postfx/copy-pass.ts -------------------------------------------------------------------------------- /src/postfx/deferred-pass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/postfx/deferred-pass.ts -------------------------------------------------------------------------------- /src/postfx/effect.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/postfx/effect.ts -------------------------------------------------------------------------------- /src/postfx/result-pass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/postfx/result-pass.ts -------------------------------------------------------------------------------- /src/protocol.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/protocol.ts -------------------------------------------------------------------------------- /src/settings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/settings.ts -------------------------------------------------------------------------------- /src/shaders/bloom-blur-compute.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/bloom-blur-compute.ts -------------------------------------------------------------------------------- /src/shaders/bloom-pass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/bloom-pass.ts -------------------------------------------------------------------------------- /src/shaders/box-outline.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/box-outline.ts -------------------------------------------------------------------------------- /src/shaders/copy-pass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/copy-pass.ts -------------------------------------------------------------------------------- /src/shaders/deferred-pass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/deferred-pass.ts -------------------------------------------------------------------------------- /src/shaders/ground.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/ground.ts -------------------------------------------------------------------------------- /src/shaders/metaball.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/metaball.ts -------------------------------------------------------------------------------- /src/shaders/particles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/particles.ts -------------------------------------------------------------------------------- /src/shaders/point-lights-compute.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/point-lights-compute.ts -------------------------------------------------------------------------------- /src/shaders/result-pass.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/result-pass.ts -------------------------------------------------------------------------------- /src/shaders/shared-chunks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/shaders/shared-chunks.ts -------------------------------------------------------------------------------- /src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/style.css -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /src/webgpu-renderer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/src/webgpu-renderer.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gnikoloff/webgpu-compute-metaballs/HEAD/vite.config.js --------------------------------------------------------------------------------