Don McCurdy
@donmccurdy.com
570 followers 310 following 76 posts
Graphics, data visualization, and web technologies. CARTO. Previously NYTimes R&D and Google. Contributor to glTF, three.js, and A-Frame VR. he/him. Brooklyn, NY. https://www.donmccurdy.com/ https://hachyderm.io/@donmccurdy
Posts Media Videos Starter Packs
Reposted by Don McCurdy
Job update: after nearly 8 years of open source I'm excited to go independent to work on consulting & OSS dev. More details to come, but feel free to reach out about collaborations or how you can support my work!

#threejs #javascript #webgl #gis #cad
Reposted by Don McCurdy
i know we're all tired of the DHH stuff, but… if you've written this off as a normal political disagreement or just been too overwhelmed to look into it (understandable!), i really think you should take five minutes to read firsthand exactly what these people are defending with their whole chests:
Writeup by @icastano.bsky.social — very worthwhile comparisons for anyone building texture-heavy applications in WebGPU, with a case study and integration in @threejs.org!
New blog post about my experiences using spark.js with three.js:

www.ludicon.com/castano/blog...

Re-posts and feedback appreciated!
three.js + spark.js – Ignacio Castaño
www.ludicon.com
Amtrak might be really nice for this! Not sure if a loaner bike case would change the math, but my case (EVOC) is otherwise just sitting in a Gowanus CubeSmart.
a classic double-cross
off to a good start
a spam DM on here:

Then: “Nice to meet you, l'm from USA state, what country are you from”

Me: “i am also from usa state, in oregon state. what state of usa state are you stated”
Reposted by Don McCurdy
Anyone want to test #webgpu page where I'm testing performance of rendering many points, using GPU vs compute shader?

aras-p.info/files/temp/w...

I'd like to know GPU times for each of 5 buttons, with&without compute shader checkbox, and the GPU model. My own numbers at the bottom of the page.
WebGPU Point Rasterization
aras-p.info
Reposted by Don McCurdy
meshoptimizer v0.25 is out! Featuring new simplification function that optimizes positions and attributes for appearance, experimental permissive mode to simplify faceted regions with selective seam preservation, regularization option for improved tessellation quality and deformation, multiple ...
Please attend my SIGGRAPH talk, “Advanced in realtime rendering from the 1980s”.
Support for both formats in KTX2Loader likely coming in three.js r180.
There's currently a (small) missing piece on the three.js WebGPURenderer side to use spark.js textures efficiently — details in github.com/mrdoob/three....
This creates new options to consider when generating textures on the fly, as well, where GPU texture compression would not have been an option before.

(Note: Spark.js is free for non-commercial use, with a very fair one-time fee for indie and larger applications).
Very big announcement from @icastano.bsky.social for WebGPU apps! Spark.js means you can send small file formats over the network (WebP, AVIF, ...) and compress to GPU texture formats like ETC2, BCn, or ASTC near-instantly using WebGPU — at runtime.

#threejs #webgpu #webgl
I’m excited to announce the release of Spark 1.3 and the launch of spark.js, our new JavaScript API for real-time GPU texture compression on the web.

ludicon.com/sparkjs
spark.js
Real-Time GPU Texture Codecs for the Web
ludicon.com
Reposted by Don McCurdy
spark.js wraps a subset of these codecs with a simple and lightweight API. Making it easy to use modern image formats for storage and delivery and transcode them at runtime to more efficient GPU formats. This is literally free bandwidth!
Chart showing size/distortion ratio of AVIF+Spark against RDO codecs.
Reposted by Don McCurdy
our 3D compression tool is out now!

the dream of making entire assets smaller than a single image is real; we've made entire multi-level, dozens-of-models games in under 7 MB

entirely free and client side

gltf-compressor.com
glTF Compressor - Optimize your glTF files online
Easily optimize glTF 3D models online. See your changes in realtime.
gltf-compressor.com
Reposted by Don McCurdy
If you're going to be at SIGGRAPH in August, come to our p5.js workshop on Tuesday! Here's a little preview of what we're making: beta.p5js.org/tutorials/ty...
Reposted by Don McCurdy
Join us on August 5th for the MaterialX Virtual Townhall at ASWF Open Source Days 2025, featuring presentations from Autodesk, IKEA, Lucasfilm, NVIDIA, OpenPBR, OTOY, and Pixar.

events.linuxfoundation.org/open-source-...
The MaterialX Chess Set in OctaneRender 2026.1. The MaterialX Lama Stirling with MaterialX BSDF layers in RenderMan XPU.
Reposted by Don McCurdy
Reposted by Don McCurdy
The interaction is finally ready!

It was tricky to calibrate, but it now supports up to 6 people, reacting to full-body movement velocity.

The more energetic your motion, the stronger the response.

During my tests kids loved it. They had a blast jumping around nonstop😄
importantly but not obviously, “HDR” formats (like the latest PNG version) are meant for “images for display” and not floating-point data, two different things
Great comparison of modern floating-point image formats including OpenEXR, JPEG-XL, and custom encodings:
aras-p.info/blog/2025/07...
Lossless Float Image Compression · Aras' website
aras-p.info
Rebooting an old proposal for three.js! Adding an AgX tone mapping option with a “look” (contrast, saturation, etc.) more similar to other three.js tone mappers.

It's a compromise. Would love to add a color grading API, but “perfect is the enemy of good” and all that.

github.com/mrdoob/three...
WebGLRenderer: Add 'AgXPunchyToneMapping' by donmccurdy · Pull Request #27618 · mrdoob/three.js
Related issue: Support AgX tone mapping #27362 Description Adds THREE.AgXPunchyToneMapping, as found in Blender and Filament. A more contrasty and saturated look, intended for sRGB displays. Inte...
github.com
Reposted by Don McCurdy
Hello #portfolioday. I'm Chris, an 3D artist & illustrator from the PNW. Lately I've been getting more serious about game development as well.

sweaterparrot.com
linktr.ee/sweaterparrot
Reposted by Don McCurdy
meshoptimizer 0.24 is out! Featuring new meshlet builder for raytracing workloads, improvements to cluster partitioning, new functions for reindexing, simplification, clustering and coverage computation, many internal improvements and, of course, VS2013 support!
Release v0.24 · zeux/meshoptimizer
This release contains many improvements to the meshoptimizer library and some gltfpack fixes! Some highlights: New meshlet builder (meshopt_buildMeshletsSpatial) designed for raytracing workloads o...
github.com