├── .github └── workflows │ └── static.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── coi-serviceworker.js ├── index.html ├── ocean.jpg ├── package.json ├── resources ├── css │ └── style.css ├── shader │ ├── IFFT │ │ ├── IFFT_Horizontal.js │ │ ├── IFFT_Vertical.js │ │ ├── IFFT_init.js │ │ ├── IFFT_permute.js │ │ ├── butterfly.js │ │ ├── initialSpectrum.js │ │ ├── initialSpectrumWithInverse.js │ │ ├── texturesMerger.js │ │ └── timeSpectrum.js │ ├── boxMaterial.js │ ├── ocean │ │ ├── fragmentStageWGSL.js │ │ └── vertexStageWGSL.js │ └── sky │ │ ├── fragmentStageWGSL.js │ │ └── vertexStageWGSL.js └── textures │ ├── cube │ ├── MilkyWay │ │ ├── nx.jpg │ │ ├── ny.jpg │ │ ├── nz.jpg │ │ ├── px.jpg │ │ ├── py.jpg │ │ └── pz.jpg │ ├── pisa │ │ ├── nx.png │ │ ├── ny.png │ │ ├── nz.png │ │ ├── px.png │ │ ├── py.png │ │ └── pz.png │ ├── sky │ │ ├── nx.jpg │ │ ├── ny.jpg │ │ ├── nz.jpg │ │ ├── px.jpg │ │ ├── py.jpg │ │ └── pz.jpg │ └── uv │ │ ├── nx.jpg │ │ ├── ny.jpg │ │ ├── nz.jpg │ │ ├── px.jpg │ │ ├── py.jpg │ │ └── pz.jpg │ ├── noise.exr │ ├── simplex-noise.png │ └── uv_grid_opengl.jpg ├── social.jpg ├── src ├── entity-manager.js ├── entity.js ├── index.js ├── main.js ├── ocean │ ├── ocean-builder-threaded-worker.js │ ├── ocean-builder-threaded.js │ ├── ocean-chunk.js │ ├── ocean-constants.js │ ├── ocean-material.js │ ├── ocean.js │ ├── quadtree.js │ ├── sky.js │ └── utils.js ├── player-controller.js ├── player-input.js ├── spawners.js ├── third-person-camera.js ├── three-defs.js ├── threejs-component.js └── waves │ ├── initial-spectrum.js │ ├── wave-cascade.js │ ├── wave-constants.js │ └── wave-generator.js └── vite.config.js /.github/workflows/static.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/.github/workflows/static.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/README.md -------------------------------------------------------------------------------- /coi-serviceworker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/coi-serviceworker.js -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/index.html -------------------------------------------------------------------------------- /ocean.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/ocean.jpg -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/package.json -------------------------------------------------------------------------------- /resources/css/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/css/style.css -------------------------------------------------------------------------------- /resources/shader/IFFT/IFFT_Horizontal.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/IFFT/IFFT_Horizontal.js -------------------------------------------------------------------------------- /resources/shader/IFFT/IFFT_Vertical.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/IFFT/IFFT_Vertical.js -------------------------------------------------------------------------------- /resources/shader/IFFT/IFFT_init.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/IFFT/IFFT_init.js -------------------------------------------------------------------------------- /resources/shader/IFFT/IFFT_permute.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/IFFT/IFFT_permute.js -------------------------------------------------------------------------------- /resources/shader/IFFT/butterfly.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/IFFT/butterfly.js -------------------------------------------------------------------------------- /resources/shader/IFFT/initialSpectrum.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/IFFT/initialSpectrum.js -------------------------------------------------------------------------------- /resources/shader/IFFT/initialSpectrumWithInverse.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/IFFT/initialSpectrumWithInverse.js -------------------------------------------------------------------------------- /resources/shader/IFFT/texturesMerger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/IFFT/texturesMerger.js -------------------------------------------------------------------------------- /resources/shader/IFFT/timeSpectrum.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/IFFT/timeSpectrum.js -------------------------------------------------------------------------------- /resources/shader/boxMaterial.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/boxMaterial.js -------------------------------------------------------------------------------- /resources/shader/ocean/fragmentStageWGSL.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/ocean/fragmentStageWGSL.js -------------------------------------------------------------------------------- /resources/shader/ocean/vertexStageWGSL.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/ocean/vertexStageWGSL.js -------------------------------------------------------------------------------- /resources/shader/sky/fragmentStageWGSL.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/sky/fragmentStageWGSL.js -------------------------------------------------------------------------------- /resources/shader/sky/vertexStageWGSL.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/shader/sky/vertexStageWGSL.js -------------------------------------------------------------------------------- /resources/textures/cube/MilkyWay/nx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/MilkyWay/nx.jpg -------------------------------------------------------------------------------- /resources/textures/cube/MilkyWay/ny.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/MilkyWay/ny.jpg -------------------------------------------------------------------------------- /resources/textures/cube/MilkyWay/nz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/MilkyWay/nz.jpg -------------------------------------------------------------------------------- /resources/textures/cube/MilkyWay/px.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/MilkyWay/px.jpg -------------------------------------------------------------------------------- /resources/textures/cube/MilkyWay/py.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/MilkyWay/py.jpg -------------------------------------------------------------------------------- /resources/textures/cube/MilkyWay/pz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/MilkyWay/pz.jpg -------------------------------------------------------------------------------- /resources/textures/cube/pisa/nx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/pisa/nx.png -------------------------------------------------------------------------------- /resources/textures/cube/pisa/ny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/pisa/ny.png -------------------------------------------------------------------------------- /resources/textures/cube/pisa/nz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/pisa/nz.png -------------------------------------------------------------------------------- /resources/textures/cube/pisa/px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/pisa/px.png -------------------------------------------------------------------------------- /resources/textures/cube/pisa/py.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/pisa/py.png -------------------------------------------------------------------------------- /resources/textures/cube/pisa/pz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/pisa/pz.png -------------------------------------------------------------------------------- /resources/textures/cube/sky/nx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/sky/nx.jpg -------------------------------------------------------------------------------- /resources/textures/cube/sky/ny.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/sky/ny.jpg -------------------------------------------------------------------------------- /resources/textures/cube/sky/nz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/sky/nz.jpg -------------------------------------------------------------------------------- /resources/textures/cube/sky/px.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/sky/px.jpg -------------------------------------------------------------------------------- /resources/textures/cube/sky/py.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/sky/py.jpg -------------------------------------------------------------------------------- /resources/textures/cube/sky/pz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/sky/pz.jpg -------------------------------------------------------------------------------- /resources/textures/cube/uv/nx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/uv/nx.jpg -------------------------------------------------------------------------------- /resources/textures/cube/uv/ny.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/uv/ny.jpg -------------------------------------------------------------------------------- /resources/textures/cube/uv/nz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/uv/nz.jpg -------------------------------------------------------------------------------- /resources/textures/cube/uv/px.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/uv/px.jpg -------------------------------------------------------------------------------- /resources/textures/cube/uv/py.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/uv/py.jpg -------------------------------------------------------------------------------- /resources/textures/cube/uv/pz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/cube/uv/pz.jpg -------------------------------------------------------------------------------- /resources/textures/noise.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/noise.exr -------------------------------------------------------------------------------- /resources/textures/simplex-noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/simplex-noise.png -------------------------------------------------------------------------------- /resources/textures/uv_grid_opengl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/resources/textures/uv_grid_opengl.jpg -------------------------------------------------------------------------------- /social.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/social.jpg -------------------------------------------------------------------------------- /src/entity-manager.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/entity-manager.js -------------------------------------------------------------------------------- /src/entity.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/entity.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/index.js -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/main.js -------------------------------------------------------------------------------- /src/ocean/ocean-builder-threaded-worker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/ocean/ocean-builder-threaded-worker.js -------------------------------------------------------------------------------- /src/ocean/ocean-builder-threaded.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/ocean/ocean-builder-threaded.js -------------------------------------------------------------------------------- /src/ocean/ocean-chunk.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/ocean/ocean-chunk.js -------------------------------------------------------------------------------- /src/ocean/ocean-constants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/ocean/ocean-constants.js -------------------------------------------------------------------------------- /src/ocean/ocean-material.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/ocean/ocean-material.js -------------------------------------------------------------------------------- /src/ocean/ocean.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/ocean/ocean.js -------------------------------------------------------------------------------- /src/ocean/quadtree.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/ocean/quadtree.js -------------------------------------------------------------------------------- /src/ocean/sky.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/ocean/sky.js -------------------------------------------------------------------------------- /src/ocean/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/ocean/utils.js -------------------------------------------------------------------------------- /src/player-controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/player-controller.js -------------------------------------------------------------------------------- /src/player-input.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/player-input.js -------------------------------------------------------------------------------- /src/spawners.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/spawners.js -------------------------------------------------------------------------------- /src/third-person-camera.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/third-person-camera.js -------------------------------------------------------------------------------- /src/three-defs.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/three-defs.js -------------------------------------------------------------------------------- /src/threejs-component.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/threejs-component.js -------------------------------------------------------------------------------- /src/waves/initial-spectrum.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/waves/initial-spectrum.js -------------------------------------------------------------------------------- /src/waves/wave-cascade.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/waves/wave-cascade.js -------------------------------------------------------------------------------- /src/waves/wave-constants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/waves/wave-constants.js -------------------------------------------------------------------------------- /src/waves/wave-generator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/src/waves/wave-generator.js -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Spiri0/Threejs-WebGPU-IFFT-Ocean/HEAD/vite.config.js --------------------------------------------------------------------------------