Issue 008
Read this issue online to see library icons!
๐ฅ Headlines
The Khronos WebGL + WebGPU Meetup took place last week. Here are the slides, video, and highlights article.
My main personal takeaway from the meetup is that Three.js’ mrdoob thinks the way forward for writing shaders is node-based solutions that provide a compatibility abstraction layer over WebGL Shader Language (GLSL) and WebGPU Shader Language (WGSL). In Three.js, that would be the NodeMaterial, which has a visual editor. Three.js is working on aligning with the MaterialX open standard for node-based materials and already has a MaterialXLoader. Sunag does the heavy lifting on that front. You can also check out Hendrik Mans‘ Shader Composer, which has React Three Fiber bindings but currently only supports GLSL.
Alvaro Sabu released TresJS, a library to create Three.js scenes declaratively with Vue. Read the Motivation section to see how it relates to TroisJS and Lunchbox, which are similar Vue wrappers for Three.js.
Meta released the Immersive Web Emulator to easily test WebXR experiences on desktop (Chrome Store).
๐ Tools & Updates
- Three.js only supports instanced skinned meshes for WebGPU, not WebGL, so Cody Bennett wrote a user-land port of the unmerged PR for InstancedSkinnedMesh in a CodeSandbox.
- Editor and code generator for MeshTransmissionMaterial by Alex Warnes. Works for R3F and Threlte.
- @threlte/gltf is an experimental fork of gltfjsx for Threlte by Grischa Erbe to transform gLTF and GLB files into declarative Threlte components (demo).
- Phy, 3TH‘s game engine to add physics to Three.js, now supports NVIDIA PhysX 5.1 via physx-js-webidl JavaScript / Wasm bindings. See the other new features and live demo. 3TH also created Oimo.js and Full IK.
- PlayCanvas v1.61.0 โ PlayCanvas now supports Microsoft’s Volumetric Videos. All PlayCanvas builds now include WebGPU support (it was previously only included in debug builds), adding only 9kb to the engine!
- Babylon.js v5.45.0
โ๏ธ Content
- ๐ฌ React Three Fiber tutorial - Scroll Animations by Wawa Sensei
- ๐ฌ 3D Games in JavaScript??! by Theo - t3.gg
- ๐ฌ Needle Engine - Quick intro to custom scripting by Marcel Wiessler
- โ๏ธ How to make your HTML5 Games Awesome! by Paulo Oliveira
- โ๏ธ Math Breakdown: Anime Homing Missiles by Max!
- โ๏ธ Shell Shockers’ multi-million $ web game success by Jason Kapalka and Simon Carless
- โ๏ธ Making PuttClub.io - Social WebXR Games in Full Body VR by Josh Field
- โ๏ธ WebXR Pass-Through on Quest by Timmy Kokke
- โจ Bruno Simon’s Awwwards 3D presentation (video for Awwwards Pro members only)
โจ Games & Demos
- Infinite World by Bruno Simon (source) โ You’ll love the super fluffy grass. ๐
- A Number From the Ghost by jittercub โ A one-of-a-kind musical experience. ๐ต
- Some strange rainbow oil bubbles and bubble tea by Maeda Mameo. ๐
- Portal shaders from Shadertoy by Cosmitar โ Check out the 3 presets. ๐
- Townscaper (80MB) by Oskar Stรฅlberg โ A relaxing city-builder on the ocean. ๐
See more on the โจ Games & Demos page or ๐ฎ WebGamer.io.
Join the fun in the Web Game Dev Discord server!
If you liked this issue, please ๐ฆ retweet it, it helps a lot!