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
gkjohnson.bsky.social
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
jakelazaroff.com
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:
donmccurdy.com
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!
icastano.bsky.social
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
donmccurdy.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.
donmccurdy.com
a classic double-cross
cabel.panic.com
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
aras-p.bsky.social
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
zeux.io
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 ...
donmccurdy.com
Please attend my SIGGRAPH talk, “Advanced in realtime rendering from the 1980s”.
donmccurdy.com
Support for both formats in KTX2Loader likely coming in three.js r180.
donmccurdy.com
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....
donmccurdy.com
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).
donmccurdy.com
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
icastano.bsky.social
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
icastano.bsky.social
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
brennan.computer
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
davepagurek.com
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
sheriffstone.bsky.social
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
handle.invalid
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😄
donmccurdy.com
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
donmccurdy.com
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
donmccurdy.com
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
sweaterparrot.bsky.social
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
zeux.io
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