Sign in

NON-TOXICNo ads · No shady algorithms

iiinova is part of the Atmosphere — an open, public network where you own your identity.

Ignacio Castaño🍉

@castano.mastodon.gamedev.place.ap.brid.gy
80 followers 3 following 315 posts

Master swimmer, mountain climber, and stand up coder. I work on texture processing tools at Ludicon. Formerly at Roblox, Thekla (The Witness), NVIDIA […] 🌉 bridged from ⁂ mastodon.gamedev.place/@castano, follow @ap.brid.gy to interact

PostsRepliesMedia
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 19/10/2026
Very pleased with the latest results of the ETC2 codec. I'm surprised Spark now scores better than all other codecs, except CVTT. It clearly falls behind on some some images, where you really need T/H modes and an exhaustive table selection. I'm […] [Original post on mastodon.gamedev.place]
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 15/10/2026
Revisiting the ETC codec. Tuning against @EricLasota's CVTT has proven useful to identify the largest gaps between what Spark achieves and what is possible in the format. Turns out I had some small bugs that were degrading quality. I also bisected the […] [Original post on mastodon.gamedev.place]
ssimu2 chart comparing Spark 1.4 vs Spark 1.5
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 09/10/2026
Ironically, the USPTO tried to warn me about this, but their email was classified as spam 🤦‍♂️
USPTO scam warning
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 14/09/2026
Some results of the upcoming ASTC HDR codec. Arm and Basis are at the highest quality leve, and on my M4 they run at 1.23 and 0.7 Mpix/sec respectively. Spark is a very simple codec, but it's optimized for perceptual quality. It scores as high as the […] [Original post on mastodon.gamedev.place]
002 2
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 11/09/2026
Performance on Pixel 9 is alright. Bandwidth limited at the fastest preset, slower otherwise.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 11/09/2026
This is ridiculously good. Now I just need to make it fast.
101 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 04/09/2026
OodleTex's source code is now available online, so I peeked at the sources to see if they did something similar. They did not, but interestingly I found some comments that seemed to point in the same direction. I decided to take a stab at it and […] [Original post on mastodon.gamedev.place]
100 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 04/09/2026
I'm trying to get things ready for a new release of the Spark codecs. While testing the new BC6 codec on a wider range of images I run into some artifacts I had not seen before. Digging into it I came up with an understanding of the problem and some […] [Original post on mastodon.gamedev.place]
100 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 31/08/2026
Hobbit Book did not disappoint (the climb, not the book)
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 29/08/2026
The joys of adding support for a new platform. Why are you doing this compiler?
Small pixel artifacts on an encoded texture.
100 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 23/07/2026
I heard good things about Unwrella, but, at least on this mesh, it doesn't seem to work that well. None of the modes it provides produces pleasing results.
010 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 23/07/2026
Someone mentioned isocharts today (Microsoft's UVAtlas). I remember evaluating it on The Witness, back when it was closed source and not being happy with the results. I just gave it another try and it doesn't seem to work particularly well.
remeshed craftsman uv-mapped with Microsof'ts uvatlas (isocharts).
120 2
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 22/07/2026
Hi Siggraph!
Me in front of the siggraph sign
010 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 12/07/2026
My favorite swimming hole
041 4
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 08/07/2026
The relief mapping on the snow looked really fake.
Sun cups on the snow field below Lamarck col.
121 2
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 07/07/2026
In my happy place
010 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 29/06/2026
My friend Art is a mountain ultrarunner. He got injured training for a 120 mile race. His abs got detached from his pelvis while running downhill. Despite of that he can still hike and he leaves me in the dust.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 22/06/2026
I spent the last 10 days camping, hiking and backpacking in Yellowstone and the Tetons. It’s such an amazing place! and it was so nice to disconnect; I should do this more often.
Yellowstone backcountry camp with a Bison pacing in the background.
100 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 15/06/2026
What a disgrace
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 11/06/2026
I've published a repository with my ssimulacra2 implementation at: github.com/Ludicon/ic-metrics I use this to tune all my codecs and generate the distortion maps in ludicon.com/sparkjs/#Examples I shared this a while ago through a […] [Original post on mastodon.gamedev.place]
ssimulacra2 distortion map showing the combined error of AVIF and BC7 compression.
110 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 09/06/2026
The Spark for Unity demo is finally available on Google Play. ludicon.com/spark/#demo Approval took longer than I expected, but I also expected some kind of notification and it never materialized, so I only noticed now that the app was available on the store. #unity #gamedev
071 7
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 06/06/2026
One more year as the race setup coordinator for our annual open water swim / fundraiser. What a pleasure with such a great group of volunteers. Very windy tonight, hoping all our hard work doesn’t blow away during the night!
Lake Berryessa
010 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 04/06/2026
The demo app is available for iOS, Android, macOS, and Windows. ludicon.com/spark/#demo
110 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 04/06/2026
Texture2D compressed = Spark.EncodeTexture(source, SparkFormat.RGB); Replaces calls to the unity Unity built-in encoder with a single call, but running on the GPU. It produces higher quality results and is orders of magnitude faster.
100 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 04/06/2026
My kid is really into the silkson soundtrack, so we couldn’t miss this!
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 28/05/2026
Well, we had a lice emergency at home, so no release tomorrow. We have spent the last couple of days doing lice checks, cleaning up, putting away stuffies, etc. The actual release is ready, but I still have to write the release announcement, and […] [Original post on mastodon.gamedev.place]
Mandelbrot texture compressed with Spark.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 27/05/2026
Also in the demo: procedural virtual texturing. A 256K × 256K texture in 16 MB.
Mandelbrot fractal rendered using a virtual texture and compressed with Spark.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 26/05/2026
I'm shooting for a new release next Thursday, not of Spark, but of a new Spark integration. I'm happy with how it turned out considering the constraints of the platform. Along with that I'm making some changes to the license terms and will start […] [Original post on mastodon.gamedev.place]
110 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 16/05/2026
Some work in progress:
Unity inspector of the runtime texture importer with spark texture compression.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 02/05/2026
I've been adding more examples to spark.js and now they are deployed automatically to github.io: ludicon.github.io/spark.js Most interesting is the integration with TilesRenderer: ludicon.github.io/spark.js/three-3d… - This […] [Original post on mastodon.gamedev.place]
3d tiles renderer example with spark integration.
100 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 01/05/2026
Arm astcenc is obviously not a BC6, but ASTC encoder. Results included for comparison purposes. Results also look good compared to other GPU encoders, but I still have some work to do on performance optimizations.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 01/05/2026
I continue hill-climbing on the BC6 codec. At this point it's the highest perceptual quality BC6 encoder, with the exception of OodleTex, but it runs from 2,000x-30,000x times faster. I think it's quite remarkable I'm getting these results with a […] [Original post on mastodon.gamedev.place]
100 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 02/04/2026
Here's a screenshot of the tool I used to reverse-engineer some of the hw compression formats. I just discovered I missed some of the modes, so next post will take a little longer.
imgui tool
040 4
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 22/03/2026
Very nice conditions in my favorite couloir. Solid firn most of the way up. I was glad someone had kicked some steps in the upper section my calves were burning from standing on my front points for so long.
Selfie at Round Top’s Crescent Moon Couloir.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 17/03/2026
My front yard this morning
Scarlet flax in full bloom
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 09/03/2026
For the last 2 years I've been releasing a new Spark version at every GDC and SIGGRAPH conference. These artificial milestones are useful to force myself to wrap things up, but they are also a source of stress, and the last few weeks have been […] [Original post on mastodon.gamedev.place]
SSIMU2 scores of BC6H codecs.
110 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 06/03/2026
I fixed the shader imports to work with static analysis, so you can estimate bundle sizes for WebGL and WebGPU. In practice, though, shaders are imported dynamically. You only pay for what you use, so the overall size is tiny. #webgl #webgpu #sparkjs
Table showing the tree-shaken bundle sizes for spark.js with WebGPU and/or WebGL.
010 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 03/03/2026
Both of these scenes have the same vram footprint. Spark texture compression not only allows higher resolution textures, but frees video memory for higher geometric detail.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 03/03/2026
New demo is coming along nicely.
Cesium 3D tiles compressed with Spark.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 14/02/2026
My daughter and I went climbing and had quite an adventure. The ice we were climbing was too thin and we bailed while a storm was rolling in amidst strong winds and falling ice. We had to down climb and then climb up an easier route to get to our […] [Original post on mastodon.gamedev.place]
Picture of the couloir we abandoned from our exit route.
030 3
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 26/01/2026
Guess what game my kid and I have been playing lately.
010 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 20/01/2026
I’d never seen Echo Lakes frozen like this. It was really magical. Usually it’s covered in snow, and it’s large enough that it doesn’t freeze solid when temperatures first drop in the fall, unlike smaller lakes. I wished I had skates, some folks were […] [Original post on mastodon.gamedev.place]
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 16/01/2026
Ah, this made my day. It's nice to get positive feedback. 😊
Jonas Olesen, software developer at Maxon wrote: Integrating it was a very smooth experience! Thank you for creating Spark Ignacio!
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 14/01/2026
I didn’t make any resolutions this year, but if there’s one thing I want, it’s more adventures.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 12/01/2026
I'm excited to announce that Maxon has licensed Spark for their cutting-edge Redshift renderer! Looking forward to supporting their work.
Maxon logo
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 03/01/2026
Help! Textures aren’t loading.
Kollegienkirche in Salzburg
010 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 17/12/2025
I've also improved the shading a bit, and added some debug view modes (press 1-5) to see the different maps individually.
spark-gltf-demo running on mobile and showing the FlightHelmet gltf model.
100 1
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 27/11/2025
This is how I roll
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 13/11/2025
The results don't fare too bad against offline codecs either. It already scores better than NVTT and Basis, although not as good as ISPCTex and OodleTex. I'm confident I can got closer to them with a bit more work.
Chart comparing Spark BC6H against offline codecs.
000 0
Ignacio Castaño🍉 @castano.mastodon.gamedev.place.ap.brid.gy · 13/11/2025
I've been working on a new BC6h codec these past few days. I still have a lot of work to do on optimizations and quality improvements, but the early results look promising. I hadn't prioritized BC6 support before because there are a few real-time […] [Original post on mastodon.gamedev.place]
Chart comparing Spark BC6H codecs against other alternatives.
100 1