├── 32-coffee-smoke ├── package.json ├── public │ ├── bakedModel.glb │ ├── overlay │ │ ├── close_small.svg │ │ ├── close_xr.svg │ │ ├── eyejack.webp │ │ ├── eyejack_logo.svg │ │ ├── fullscreen.svg │ │ ├── fullscreen_exit.svg │ │ ├── info.svg │ │ ├── menu.svg │ │ ├── qr_code.svg │ │ └── quest.webp │ └── perlin.png ├── src │ ├── ExperienceXR.jsx │ ├── common │ │ └── Utils.js │ ├── components │ │ ├── CoffeeSmoke.jsx │ │ ├── DOMOverlay.jsx │ │ ├── FirstFrame.jsx │ │ ├── ResizeListener.jsx │ │ ├── XRCameraRestore.jsx │ │ ├── XROverlay.jsx │ │ └── xroverlay.css │ ├── index.html │ ├── index.jsx │ ├── shaders │ │ ├── coffeeSmoke │ │ │ ├── fragment.glsl │ │ │ └── vertex.glsl │ │ └── includes │ │ │ └── rotate2D.glsl │ └── style.css └── vite.config.js ├── 38-earth-shaders ├── package.json ├── public │ ├── earth │ │ ├── day.webp │ │ ├── night.webp │ │ └── specularClouds.webp │ ├── lenses │ │ ├── lensflare0.webp │ │ └── lensflare1.webp │ └── overlay │ │ ├── close_small.svg │ │ ├── close_xr.svg │ │ ├── eyejack.webp │ │ ├── eyejack_logo.svg │ │ ├── fullscreen.svg │ │ ├── fullscreen_exit.svg │ │ ├── info.svg │ │ ├── menu.svg │ │ ├── qr_code.svg │ │ └── quest.webp ├── src │ ├── ExperienceXR.jsx │ ├── common │ │ ├── params.js │ │ └── utils.js │ ├── components │ │ ├── DOMOverlay.jsx │ │ ├── Earth.jsx │ │ ├── ResizeListener.jsx │ │ ├── TweakPaneControls.jsx │ │ ├── XRCameraRestore.jsx │ │ ├── XROverlay.jsx │ │ └── xroverlay.css │ ├── index.html │ ├── index.jsx │ ├── shaders │ │ ├── atmosphere │ │ │ ├── fragment.glsl │ │ │ └── vertex.glsl │ │ └── earth │ │ │ ├── fragment.glsl │ │ │ └── vertex.glsl │ └── style.css └── vite.config.js ├── 40-particles-morphing-shader ├── package.json ├── public │ ├── models.glb │ └── overlay │ │ ├── close_small.svg │ │ ├── close_xr.svg │ │ ├── eyejack.webp │ │ ├── eyejack_logo.svg │ │ ├── fullscreen.svg │ │ ├── fullscreen_exit.svg │ │ ├── info.svg │ │ ├── menu.svg │ │ ├── qr_code.svg │ │ └── quest.webp ├── src │ ├── ExperienceXR.jsx │ ├── common │ │ ├── params.js │ │ └── utils.js │ ├── components │ │ ├── ClearColor.jsx │ │ ├── DOMOverlay.jsx │ │ ├── ParticlesMorph.jsx │ │ ├── ResizeListener.jsx │ │ ├── TweakPaneControls.jsx │ │ ├── XRCameraRestore.jsx │ │ ├── XROverlay.jsx │ │ └── xroverlay.css │ ├── index.html │ ├── index.jsx │ ├── shaders │ │ ├── includes │ │ │ └── simplexNoise3d.glsl │ │ └── particles │ │ │ ├── fragment.glsl │ │ │ └── vertex.glsl │ └── style.css └── vite.config.js ├── 41-gpgpu-flow-field-particles-shaders ├── package.json ├── public │ ├── model.glb │ └── overlay │ │ ├── close_small.svg │ │ ├── close_xr.svg │ │ ├── eyejack.webp │ │ ├── eyejack_logo.svg │ │ ├── fullscreen.svg │ │ ├── fullscreen_exit.svg │ │ ├── info.svg │ │ ├── menu.svg │ │ ├── qr_code.svg │ │ └── quest.webp ├── src │ ├── ExperienceXR.jsx │ ├── common │ │ ├── params.js │ │ └── utils.js │ ├── components │ │ ├── ClearColor.jsx │ │ ├── DOMOverlay.jsx │ │ ├── GPGPU.jsx │ │ ├── ResizeListener.jsx │ │ ├── TweakPaneControls.jsx │ │ ├── XRCameraRestore.jsx │ │ ├── XROverlay.jsx │ │ └── xroverlay.css │ ├── index.html │ ├── index.jsx │ ├── shaders │ │ ├── gpgpu │ │ │ └── particles.glsl │ │ ├── includes │ │ │ └── simplexNoise4d.glsl │ │ └── particles │ │ │ ├── fragment.glsl │ │ │ └── vertex.glsl │ └── style.css └── vite.config.js ├── 61-portal-scene-with-r3f ├── package.json ├── public │ ├── model │ │ ├── baked.jpg │ │ └── portal.glb │ └── overlay │ │ ├── close_small.svg │ │ ├── close_xr.svg │ │ ├── eyejack.webp │ │ ├── eyejack_logo.svg │ │ ├── fullscreen.svg │ │ ├── fullscreen_exit.svg │ │ ├── info.svg │ │ ├── menu.svg │ │ ├── qr_code.svg │ │ └── quest.webp ├── src │ ├── ExperienceXR.jsx │ ├── common │ │ └── Utils.js │ ├── components │ │ ├── DOMOverlay.jsx │ │ ├── FirstFrame.jsx │ │ ├── ResizeListener.jsx │ │ ├── XRCameraRestore.jsx │ │ ├── XROverlay.jsx │ │ └── xroverlay.css │ ├── index.html │ ├── index.jsx │ ├── shaders │ │ └── portal │ │ │ ├── fragment.glsl │ │ │ └── vertex.glsl │ └── style.css └── vite.config.js └── README.md /32-coffee-smoke/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/package.json -------------------------------------------------------------------------------- /32-coffee-smoke/public/bakedModel.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/bakedModel.glb -------------------------------------------------------------------------------- /32-coffee-smoke/public/overlay/close_small.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/overlay/close_small.svg -------------------------------------------------------------------------------- /32-coffee-smoke/public/overlay/close_xr.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/overlay/close_xr.svg -------------------------------------------------------------------------------- /32-coffee-smoke/public/overlay/eyejack.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/overlay/eyejack.webp -------------------------------------------------------------------------------- /32-coffee-smoke/public/overlay/eyejack_logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/overlay/eyejack_logo.svg -------------------------------------------------------------------------------- /32-coffee-smoke/public/overlay/fullscreen.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/overlay/fullscreen.svg -------------------------------------------------------------------------------- /32-coffee-smoke/public/overlay/fullscreen_exit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/overlay/fullscreen_exit.svg -------------------------------------------------------------------------------- /32-coffee-smoke/public/overlay/info.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/overlay/info.svg -------------------------------------------------------------------------------- /32-coffee-smoke/public/overlay/menu.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/overlay/menu.svg -------------------------------------------------------------------------------- /32-coffee-smoke/public/overlay/qr_code.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/overlay/qr_code.svg -------------------------------------------------------------------------------- /32-coffee-smoke/public/overlay/quest.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/overlay/quest.webp -------------------------------------------------------------------------------- /32-coffee-smoke/public/perlin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/public/perlin.png -------------------------------------------------------------------------------- /32-coffee-smoke/src/ExperienceXR.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/ExperienceXR.jsx -------------------------------------------------------------------------------- /32-coffee-smoke/src/common/Utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/common/Utils.js -------------------------------------------------------------------------------- /32-coffee-smoke/src/components/CoffeeSmoke.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/components/CoffeeSmoke.jsx -------------------------------------------------------------------------------- /32-coffee-smoke/src/components/DOMOverlay.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/components/DOMOverlay.jsx -------------------------------------------------------------------------------- /32-coffee-smoke/src/components/FirstFrame.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/components/FirstFrame.jsx -------------------------------------------------------------------------------- /32-coffee-smoke/src/components/ResizeListener.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/components/ResizeListener.jsx -------------------------------------------------------------------------------- /32-coffee-smoke/src/components/XRCameraRestore.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/components/XRCameraRestore.jsx -------------------------------------------------------------------------------- /32-coffee-smoke/src/components/XROverlay.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/components/XROverlay.jsx -------------------------------------------------------------------------------- /32-coffee-smoke/src/components/xroverlay.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/components/xroverlay.css -------------------------------------------------------------------------------- /32-coffee-smoke/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/index.html -------------------------------------------------------------------------------- /32-coffee-smoke/src/index.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/index.jsx -------------------------------------------------------------------------------- /32-coffee-smoke/src/shaders/coffeeSmoke/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/shaders/coffeeSmoke/fragment.glsl -------------------------------------------------------------------------------- /32-coffee-smoke/src/shaders/coffeeSmoke/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/shaders/coffeeSmoke/vertex.glsl -------------------------------------------------------------------------------- /32-coffee-smoke/src/shaders/includes/rotate2D.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/shaders/includes/rotate2D.glsl -------------------------------------------------------------------------------- /32-coffee-smoke/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/src/style.css -------------------------------------------------------------------------------- /32-coffee-smoke/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/32-coffee-smoke/vite.config.js -------------------------------------------------------------------------------- /38-earth-shaders/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/package.json -------------------------------------------------------------------------------- /38-earth-shaders/public/earth/day.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/earth/day.webp -------------------------------------------------------------------------------- /38-earth-shaders/public/earth/night.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/earth/night.webp -------------------------------------------------------------------------------- /38-earth-shaders/public/earth/specularClouds.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/earth/specularClouds.webp -------------------------------------------------------------------------------- /38-earth-shaders/public/lenses/lensflare0.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/lenses/lensflare0.webp -------------------------------------------------------------------------------- /38-earth-shaders/public/lenses/lensflare1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/lenses/lensflare1.webp -------------------------------------------------------------------------------- /38-earth-shaders/public/overlay/close_small.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/overlay/close_small.svg -------------------------------------------------------------------------------- /38-earth-shaders/public/overlay/close_xr.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/overlay/close_xr.svg -------------------------------------------------------------------------------- /38-earth-shaders/public/overlay/eyejack.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/overlay/eyejack.webp -------------------------------------------------------------------------------- /38-earth-shaders/public/overlay/eyejack_logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/overlay/eyejack_logo.svg -------------------------------------------------------------------------------- /38-earth-shaders/public/overlay/fullscreen.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/overlay/fullscreen.svg -------------------------------------------------------------------------------- /38-earth-shaders/public/overlay/fullscreen_exit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/overlay/fullscreen_exit.svg -------------------------------------------------------------------------------- /38-earth-shaders/public/overlay/info.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/overlay/info.svg -------------------------------------------------------------------------------- /38-earth-shaders/public/overlay/menu.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/overlay/menu.svg -------------------------------------------------------------------------------- /38-earth-shaders/public/overlay/qr_code.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/overlay/qr_code.svg -------------------------------------------------------------------------------- /38-earth-shaders/public/overlay/quest.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/public/overlay/quest.webp -------------------------------------------------------------------------------- /38-earth-shaders/src/ExperienceXR.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/ExperienceXR.jsx -------------------------------------------------------------------------------- /38-earth-shaders/src/common/params.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/common/params.js -------------------------------------------------------------------------------- /38-earth-shaders/src/common/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/common/utils.js -------------------------------------------------------------------------------- /38-earth-shaders/src/components/DOMOverlay.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/components/DOMOverlay.jsx -------------------------------------------------------------------------------- /38-earth-shaders/src/components/Earth.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/components/Earth.jsx -------------------------------------------------------------------------------- /38-earth-shaders/src/components/ResizeListener.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/components/ResizeListener.jsx -------------------------------------------------------------------------------- /38-earth-shaders/src/components/TweakPaneControls.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/components/TweakPaneControls.jsx -------------------------------------------------------------------------------- /38-earth-shaders/src/components/XRCameraRestore.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/components/XRCameraRestore.jsx -------------------------------------------------------------------------------- /38-earth-shaders/src/components/XROverlay.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/components/XROverlay.jsx -------------------------------------------------------------------------------- /38-earth-shaders/src/components/xroverlay.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/components/xroverlay.css -------------------------------------------------------------------------------- /38-earth-shaders/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/index.html -------------------------------------------------------------------------------- /38-earth-shaders/src/index.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/index.jsx -------------------------------------------------------------------------------- /38-earth-shaders/src/shaders/atmosphere/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/shaders/atmosphere/fragment.glsl -------------------------------------------------------------------------------- /38-earth-shaders/src/shaders/atmosphere/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/shaders/atmosphere/vertex.glsl -------------------------------------------------------------------------------- /38-earth-shaders/src/shaders/earth/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/shaders/earth/fragment.glsl -------------------------------------------------------------------------------- /38-earth-shaders/src/shaders/earth/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/shaders/earth/vertex.glsl -------------------------------------------------------------------------------- /38-earth-shaders/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/src/style.css -------------------------------------------------------------------------------- /38-earth-shaders/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/38-earth-shaders/vite.config.js -------------------------------------------------------------------------------- /40-particles-morphing-shader/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/package.json -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/models.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/models.glb -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/overlay/close_small.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/overlay/close_small.svg -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/overlay/close_xr.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/overlay/close_xr.svg -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/overlay/eyejack.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/overlay/eyejack.webp -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/overlay/eyejack_logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/overlay/eyejack_logo.svg -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/overlay/fullscreen.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/overlay/fullscreen.svg -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/overlay/fullscreen_exit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/overlay/fullscreen_exit.svg -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/overlay/info.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/overlay/info.svg -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/overlay/menu.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/overlay/menu.svg -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/overlay/qr_code.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/overlay/qr_code.svg -------------------------------------------------------------------------------- /40-particles-morphing-shader/public/overlay/quest.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/public/overlay/quest.webp -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/ExperienceXR.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/ExperienceXR.jsx -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/common/params.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/common/params.js -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/common/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/common/utils.js -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/components/ClearColor.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/components/ClearColor.jsx -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/components/DOMOverlay.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/components/DOMOverlay.jsx -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/components/ParticlesMorph.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/components/ParticlesMorph.jsx -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/components/ResizeListener.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/components/ResizeListener.jsx -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/components/TweakPaneControls.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/components/TweakPaneControls.jsx -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/components/XRCameraRestore.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/components/XRCameraRestore.jsx -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/components/XROverlay.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/components/XROverlay.jsx -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/components/xroverlay.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/components/xroverlay.css -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/index.html -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/index.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/index.jsx -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/shaders/includes/simplexNoise3d.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/shaders/includes/simplexNoise3d.glsl -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/shaders/particles/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/shaders/particles/fragment.glsl -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/shaders/particles/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/shaders/particles/vertex.glsl -------------------------------------------------------------------------------- /40-particles-morphing-shader/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/src/style.css -------------------------------------------------------------------------------- /40-particles-morphing-shader/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/40-particles-morphing-shader/vite.config.js -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/package.json -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/model.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/model.glb -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/overlay/close_small.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/overlay/close_small.svg -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/overlay/close_xr.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/overlay/close_xr.svg -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/overlay/eyejack.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/overlay/eyejack.webp -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/overlay/eyejack_logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/overlay/eyejack_logo.svg -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/overlay/fullscreen.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/overlay/fullscreen.svg -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/overlay/fullscreen_exit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/overlay/fullscreen_exit.svg -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/overlay/info.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/overlay/info.svg -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/overlay/menu.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/overlay/menu.svg -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/overlay/qr_code.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/overlay/qr_code.svg -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/public/overlay/quest.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/public/overlay/quest.webp -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/ExperienceXR.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/ExperienceXR.jsx -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/common/params.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/common/params.js -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/common/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/common/utils.js -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/components/ClearColor.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/components/ClearColor.jsx -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/components/DOMOverlay.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/components/DOMOverlay.jsx -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/components/GPGPU.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/components/GPGPU.jsx -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/components/ResizeListener.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/components/ResizeListener.jsx -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/components/TweakPaneControls.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/components/TweakPaneControls.jsx -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/components/XRCameraRestore.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/components/XRCameraRestore.jsx -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/components/XROverlay.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/components/XROverlay.jsx -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/components/xroverlay.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/components/xroverlay.css -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/index.html -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/index.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/index.jsx -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/shaders/gpgpu/particles.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/shaders/gpgpu/particles.glsl -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/shaders/includes/simplexNoise4d.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/shaders/includes/simplexNoise4d.glsl -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/shaders/particles/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/shaders/particles/fragment.glsl -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/shaders/particles/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/shaders/particles/vertex.glsl -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/src/style.css -------------------------------------------------------------------------------- /41-gpgpu-flow-field-particles-shaders/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/41-gpgpu-flow-field-particles-shaders/vite.config.js -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/package.json -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/model/baked.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/model/baked.jpg -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/model/portal.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/model/portal.glb -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/overlay/close_small.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/overlay/close_small.svg -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/overlay/close_xr.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/overlay/close_xr.svg -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/overlay/eyejack.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/overlay/eyejack.webp -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/overlay/eyejack_logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/overlay/eyejack_logo.svg -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/overlay/fullscreen.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/overlay/fullscreen.svg -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/overlay/fullscreen_exit.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/overlay/fullscreen_exit.svg -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/overlay/info.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/overlay/info.svg -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/overlay/menu.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/overlay/menu.svg -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/overlay/qr_code.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/overlay/qr_code.svg -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/public/overlay/quest.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/public/overlay/quest.webp -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/ExperienceXR.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/ExperienceXR.jsx -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/common/Utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/common/Utils.js -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/components/DOMOverlay.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/components/DOMOverlay.jsx -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/components/FirstFrame.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/components/FirstFrame.jsx -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/components/ResizeListener.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/components/ResizeListener.jsx -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/components/XRCameraRestore.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/components/XRCameraRestore.jsx -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/components/XROverlay.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/components/XROverlay.jsx -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/components/xroverlay.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/components/xroverlay.css -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/index.html -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/index.jsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/index.jsx -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/shaders/portal/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/shaders/portal/fragment.glsl -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/shaders/portal/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/shaders/portal/vertex.glsl -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/src/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/src/style.css -------------------------------------------------------------------------------- /61-portal-scene-with-r3f/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/61-portal-scene-with-r3f/vite.config.js -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shpowley/threejs-journey-webxr/HEAD/README.md --------------------------------------------------------------------------------