







An advanced 3D Gaussian Splatting renderer for THREE.js
Turning a Gaussian Splat Into a Videogame | PlayCanvas Blog
How I turned a photogrammetric 3D Gaussian Splat scene into a playable browser FPS - with collision, pre-baked lighting, navmesh-driven NPCs and behavior-tree AI, all in PlayCanvas.

Three.js From Zero — Creative Web 3D for Artists · MasterAllArts
Learn Three.js as part of the MasterAllArts creative 3D roadmap: turn drawings, models, shaders, and portfolio ideas into interactive Web 3D scenes. Free articles with live demos.

Evaluating and Sampling Glinty NDFs in Constant Time
Geometric features between the micro and macro scales produce an expressive family of visual effects grouped under the term 'glints'. Efficiently rendering these effects amounts to finding the highlights caused by the geometry under each pixel. To allow for fast rendering, we represent our faceted geometry as a 4D point process on an implicit multiscale grid, designed to efficiently find the facets most likely to cause a highlight. The facets' normals are generated to match a given micro-facet normal distribution such as Trowbridge-Reitz (GGX) or Beckmann, to which our model converges under increasing surface area. Our method is simple to implement, memory-and-precomputation-free, allows for importance sampling and covers a wide range of different appearances such as anisotropic as well as individually colored particles. We provide a base implementation as a standalone fragment shader.
Bluesky Firehose in 3D (live)
heerich.js
Tiny engine for 3D voxel scenes rendered to SVG — boolean ops, oblique/perspective cameras, zero dependencies.

Generating 3D Meshes From Text
I recently had a desire to convert text to 3D meshes that I could render and manipulate as part of my Geotoy project and Geoscript language. I did some research into tools and libraries that could solve different pieces of this, and I put together a pipeline that implements the whole thing - yielding nice, 2-manifold 3D meshes with arbitrary fonts, text styles, and more.
Article 09: Performance: Instancing, LOD, Draw Calls — Three.js From Zero · MasterAllArts
Performance: Instancing, LOD, Draw Calls is Article 09 of Three.js From Zero, a MasterAllArts free interactive lesson for artists learning creative 3D on the web.

Meshes vs. Gaussian Splats: Which reality representation should you choose?
Learn the differences between meshes and Gaussian splats, how each represents reality, where they excel, and why the most effective reality mapping workflows increasingly leverage both.


Bringing Photos to Life: Gaussian Splatting with Jiggle Physics in VisionOS
What if your photos could move? Not just play back as videos, but actually exist in space around you—touchable, interactive, alive with physics?

Rendering Particles with Compute Shaders
Overview I developed a technique to render single-pixel particles (using additive blending) with compute shaders rather than the usual fixed-function rasterization with vertex and fragment shaders. My approach runs 31–350% faster than rasterization on the cases I tested and is particularly faster for some “pathological” cases (which for my application are not actually that uncommon). I observed these speedups on both NVIDIA and AMD GPUs. Using this technique allowed me to ship an app that runs on minimum-spec hardware without sacrificing visual fidelity.

Mesh Outlines Without Post-Processing in Unreal Engine
Some time ago I saw a neat solution by Cory Spooner on outlining meshes using particle sprites. The concept has been done before – but it’s interesting enough to cover it regardless for Unreal Engine...

Join the Hubs Discord Server!
We are a community of artists, developers, and other creatives that supports an immersive 3D web via our open-source, WebXR project. Our community builds good things. 🌐 | 21838 members

Announcing Box3D
I’m happy to announce the release of Box3D, an open source 3D physics engine. It is now available on GitHub. Box3D repository You can think of Box3D as a fork of Box2D, extended with many features needed for 3D games. Some additions: Triangle mesh collision Height-field collision Baked compound collision The core architecture of Box3D remains almost identical to Box2D. C API All library source is C17 Sub-stepping solver Continuous collision Graph coloring for large islands Wide SIMD contact solver Multi-threading hooks Optional internal scheduler Large world support with doubles for position Recording and replay If you want to see Box3D in action, watch this video: