Sign in

Ignacio Castano

@icastano.bsky.social
424 followers 184 following 114 posts

Master swimmer, mountain climber, and stand up coder. I work on texture processing tools at Ludicon. Formerly at Roblox, Thekla (The Witness), NVIDIA, OddWorld, Relic, Crytek.

PostsRepliesMedia
Reposted by Ignacio Castano
Arseny Kapoulkine @zeux.io · 25/09/2026
meshoptimizer 1.3 is out! Featuring a new voxel remesher, support for normal generation, several simplification improvements and various optimizations and fixes. GitHub stars and reposts appreciated! meshoptimizer was started 10 years ago; excited for the years to come! github.com/zeux/meshopt...
29426
Ignacio Castano @icastano.bsky.social · 25/09/2026
I revisited Metal Tile Shaders for real-time texture encoding. The encoder reads straight from tile memory, so the uncompressed render target never reaches DRAM. On most iPhones, rendering + encoding is now as fast as rendering alone. www.ludicon.com/castano/blog...
ludicon.com
Encoding Render Targets for Free with Tile Shaders
Encoding textures with tile shaders: on most iPhones, as fast as not encoding at all.
081
Ignacio Castano @icastano.bsky.social · 17/09/2026
Spark 1.4 is finally out! The highlight is HDR: new BC6H and ASTC HDR codecs, offline quality at real-time speeds. Also: BC1 Ultra, a BC7 codec for packed material maps, ASTC 5×5, and broader device support. www.ludicon.com/castano/blog...
ludicon.com
Spark 1.4
Spark 1.4 adds real-time BC6H and ASTC HDR texture compression, BC1 Ultra, BC7 NRM, ASTC 5×5, and broader GPU compatibility.
0164
Ignacio Castano @icastano.bsky.social · 29/08/2026
As a response to the RAM crisis, Google is making memory efficiency a distribution requirement. Starting in February 2027, apps and games that exceed new memory and bitmap usage thresholds may face reduced visibility or publishing restrictions on Google Play.
1102
Reposted by Ignacio Castano
Mayor Zohran Kwame Mamdani @mayor.nyc.gov · 22/07/2026
Benjamin Netanyahu is a war criminal.
20378813124814
Ignacio Castano @icastano.bsky.social · 22/07/2026
Hi Siggraph!
391
Ignacio Castano @icastano.bsky.social · 11/07/2026
I'll be in LA next week! Not for SIGGRAPH, but for my daughter's water polo tournament. I'll have Wed/Thu (July 22–23) open to meet clients and partners while I'm there. Might also grab a SIGGRAPH day pass if I'm not too busy. Reach out if you want to connect.
040
Reposted by Ignacio Castano
Eric Lengyel @ericlengyel.bsky.social · 10/07/2026
Do you use the equation editor built into Microsoft Word? If so, you can put an end to your suffering by upgrading to Radical Pie. radicalpie.com
0277
Reposted by Ignacio Castano
Superluminal @superluminal.eu · 29/06/2026
We're finally bringing our powerful and user friendly CPU profiler to Linux! The beta version is now publically available, and it's free for 60 days during the open beta, so there's really no excuse not to try it out! Just download, extract, optimize. superluminal.eu/applications...
superluminal.eu
Superluminal For Linux | Fast Profiling Without The Challenges
No pages of installation guides. No Gigabytes to download and install. Just unzip, run and focus on performance issues. It Just Works™.
35421
Ignacio Castano @icastano.bsky.social · 09/06/2026
Spark for Unity demo is now on Google Play. ludicon.com/spark/#demo #unity
030
Ignacio Castano @icastano.bsky.social · 04/06/2026
Today I'm releasing Spark for Unity, a Unity package that brings the Spark texture codecs to the Unity engine and it's free for projects with lifetime revenue under $100K. t.co/RaUwMH90rK #unity #spark
t.co
https://www.ludicon.com/castano/blog/2026/06/spark-for-unity/
1217
Ignacio Castano @icastano.bsky.social · 03/06/2026
So smooth! www.youtube.com/watch?v=mGip...
youtube.com
Procedural Virtual Texturing with Spark
YouTube video by Ignacio Castano
171
Reposted by Ignacio Castano
Draknek & Friends @draknek.bsky.social · 30/05/2026
The full Dittori will have hundreds of meticulously designed puzzles, each designed to be unique, surprising and memorable. You can try mastering a few of them today in the demo, now available on Steam: store.steampowered.com/app/4311980/...
1408
Ignacio Castano @icastano.bsky.social · 27/05/2026
Also in the demo: procedural virtual texturing. A 256K × 256K texture in 16 MB.
180
Ignacio Castano @icastano.bsky.social · 26/05/2026
Not looking bad!
020
Ignacio Castano @icastano.bsky.social · 26/05/2026
~10× faster and higher quality.
141
Ignacio Castano @icastano.bsky.social · 23/05/2026
Texture2D compressed = Spark.EncodeTexture(source, SparkFormat.RGB); Integrating Spark in your games has never been easier. Coming next week.
050
Ignacio Castano @icastano.bsky.social · 05/05/2026
Loading images is one of the most fundamental things a browser does. It turns out that doing it efficiently from JavaScript is an open problem. There are multiple APIs available and the right choice depends on the browser you are targeting. www.ludicon.com/castano/blog...
ludicon.com
Image Loading on the Web
You would think that loading images in the browser is a solved problem. After all, websites are basically composed of text and images. Turns out that loading images from JavaScript to use in WebGL/...
1203
Ignacio Castano @icastano.bsky.social · 24/04/2026
I spent some time reverse-engineering Apple's Lossy texture format. It wasn't as simple as I originally thought, and some of the details surprised me. Check it out! www.ludicon.com/castano/blog...
ludicon.com
Metal Lossy Compression Format
The Apple Lossy compression format was introduced in the A15 and M2 chipsets (which share the same GPU generation) and it enables sampling and rendering to textures with a 1:2 compression ratio. The f...
16320
Ignacio Castano @icastano.bsky.social · 15/04/2026
Larger ASTC block sizes save bandwidth, but may not save memory at all. I tested many iOS and Android devices to find the actual cost of memory alignment: www.ludicon.com/castano/blog...
ludicon.com
The True Size of ASTC Textures
In my previous post Writing to Compressed Textures in Metal, I showed how Metal heaps can be used to alias buffers and textures to inspect their actual memory layout. Something that caught my attentio...
072
Ignacio Castano @icastano.bsky.social · 14/04/2026
Infinite Flight 26.1 is out. Spark is powering the new content pipeline under the hood. Great to see it shipping!
040
Ignacio Castano @icastano.bsky.social · 11/04/2026
I just noticed the talks from the Khronos 3D on the Web event at GDC were released a few days ago. I gave a talk on bringing real-time GPU texture compression to the web with spark.js, with some live demos. www.youtube.com/watch?v=eJN0... #webgpu #webgl #sparkjs #gltf
youtube.com
3D on the Web 2026 - spark.js glTF Demo and Real Time Texture Compression
YouTube video by The Khronos Group
030
Ignacio Castano @icastano.bsky.social · 11/04/2026
20% faster texture encoding on Metal? Leverage heap aliasing to emulate resource casting and skip the blit. www.ludicon.com/castano/blog...
ludicon.com
Writing to Compressed Textures in Metal
Writing to Compressed Textures in Metal using heap aliasing.
1132
Ignacio Castano @icastano.bsky.social · 28/03/2026
I've been reverse engineering and benchmarking Apple's, ARM's, and ImgTec's hardware image compression formats. ARM's AFRC is the clear winner, but does native hardware compression make real-time texture encoding obsolete? www.ludicon.com/castano/blog...
ludicon.com
Hardware Image Compression
One of the things I've always lamented about hardware image formats is the slow pace of innovation. Developers were usually unwilling to ship textures in a new format unless that format was widely ava...
272
Ignacio Castano @icastano.bsky.social · 09/03/2026
I'll be at GDC next week! With rising RAM costs and ever-growing asset sizes, texture compression has never mattered more. Get in touch if you'd like to meet and chat.
031
Ignacio Castano @icastano.bsky.social · 05/03/2026
I'm excited to announce the release of spark.js 0.1 now with support for WebGL! www.ludicon.com/castano/blog... #webgl #webgpu #sparkjs
ludicon.com
Announcing spark.js 0.1
I'm excited to announce spark.js 0.1, now with WebGL support!
0152
Ignacio Castano @icastano.bsky.social · 19/02/2026
Runtime mipmap generation can reduce texture transmission by 25%, with no loss of quality. Real-time doesn’t mean compromises: the same algorithms used offline can run efficiently on the GPU. Learn about the spark.js implementation here: www.ludicon.com/castano/blog...
ludicon.com
Runtime Mipmap Generation
One of the advantages of runtime texture compression is that mipmaps can also be computed at runtime and do not need to be transmitted. In contrast, offline codecs must precompute mipmaps so they can ...
2134
Reposted by Ignacio Castano
Stefan Reinalter @molecularmusing.bsky.social · 12/02/2026
I've been working on something new since August 2025 and have decided to finally spill the beans: Introducing "Project Echo", a deterministic Record & Replay tool for PS5: www.youtube.com/watch?v=K_sd... Please read the video description and let me know your brutally honest feedback!
youtube.com
"Project Echo" early pre-alpha footage
YouTube video by Molecular Matters
165113
Reposted by Ignacio Castano
Kostas Anagnostou @kostasanagnostou.bsky.social · 10/02/2026
I’ve recently been tinkering with MLPs, exploring different ways they might be used in rendering to get a feel for their potential. I also put together a blog post with some initial impressions. interplayoflight.wordpress.com/2026/02/10/a...
interplayoflight.wordpress.com
Adventures in Neural Rendering
In recent years, neural networks have started to find their way into many areas of rendering. While antialiasing and upscaling are probably the most well‑known uses, they’re far from the only ones—…
0256
Ignacio Castano @icastano.bsky.social · 10/02/2026
I've put together an updated version of the Sponza scene with uncompressed PNG and compressed AVIF textures. I wrote about the process and compared the results against KTX. www.ludicon.com/castano/blog... #webgpu #web3d #sparkjs
ludicon.com
An Updated Sponza glTF – Ignacio Castaño
3132
Ignacio Castano @icastano.bsky.social · 05/02/2026
While working on spark.js, I realized that common normal map compression formats weren’t supported in popular frameworks like three.js. I added the necessary support to three.js and wrote an article to shed some light on the topic: ludicon.com/castano/blog... #webgpu #webgl #threejs #sparkjs
ludicon.com
Normal Map Compression Revisited – Ignacio Castaño
01711
Reposted by Ignacio Castano
Jendrik Illner @jendrikillner.bsky.social · 02/02/2026
Graphics Programming weekly - Issue 426 - February 1st, 2026 www.jendrikillner.com/post/graphic...
15515
Reposted by Ignacio Castano
Stefan Reinalter @molecularmusing.bsky.social · 31/01/2026
For what I'm working on, I can change every file, asset, shader, and C++ code and see the changes in <1s. Shaders take roughly 100ms, C++ code 500ms. Using my own custom tech and Live++.
1233
Reposted by Ignacio Castano
Don McCurdy @donmccurdy.com · 28/01/2026
Really worthwhile reading from @icastano.bsky.social! If you're building with WebGPU, spark.js gives you new choices for texture compression that weren't possible with WebGL. Also, I need to update my older blog post. 😅
071
Ignacio Castano @icastano.bsky.social · 27/01/2026
Choosing texture formats for WebGPU apps www.ludicon.com/castano/blog... Loading large scenes and running out of VRAM? This guide is for you. A follow up to @donmccurdy.com's guide, with a new option: Ship AVIF/WebP over the network, with native block-compressed textures in VRAM #webgpu #webgl
ludicon.com
Choosing Texture Formats for WebGPU applications – Ignacio Castaño
072
Ignacio Castano @icastano.bsky.social · 21/01/2026
spark.js has been featured on webgpu.com! "Real-Time Texture Transcoding for Faster Asset Delivery" www.webgpu.com/showcase/spa... #webgpu #threejs #gamedev
webgpu.com
spark.js GLTF Demo: Real-Time Texture Transcoding for Faster Asset Delivery
A GLTF viewer that ships textures as compact WebP or AVIF, then transcodes them to GPU-compressed formats in the browser. Small downloads, efficient VRAM. Spark.js handles the conversion so you get th...
0185
Ignacio Castano @icastano.bsky.social · 12/01/2026
I'm excited to announce that @maxonvfx.bsky.social has licensed Spark for their cutting-edge Redshift renderer! Looking forward to supporting their work.
Maxon Logo
092
Reposted by Ignacio Castano
Glenn Fiedler @mas-bandwidth.bsky.social · 03/01/2026
Fuck Donald Trump
091
Reposted by Ignacio Castano
Kat Abughazaleh @katmabu.bsky.social · 03/01/2026
We have to impeach him.
631192912997
Ignacio Castano @icastano.bsky.social · 10/12/2025
three.js r182 was just released! 🎉 github.com/mrdoob/three.js/rel I contributed support for RG normal maps, enabling BC5 and EAC_RG normal map compression in both the WebGL and WebGPU renderers. #webgpu #webgl #threejs
github.com
191
Reposted by Ignacio Castano
Arseny Kapoulkine @zeux.io · 08/12/2025
After nine years of development, meshoptimizer has reached its first major version, 1.0! This release focuses on improvements in clusterization and simplification as well as stabilization. Here's a release announcement with more details on past, present and future; please RT! meshoptimizer.org/v1
meshoptimizer.org
🐇 meshoptimizer v1.0
Mesh optimization library that makes meshes smaller and faster to render
924975
Reposted by Ignacio Castano
Omar @ocornut.bsky.social · 05/11/2025
Funding: if your mid/large business uses Dear ImGui - and maybe you are approaching end of year budget/planning etc. - please consider reaching out (PM/email) so I can help you help Dear ImGui !
09549
Reposted by Ignacio Castano
Eric Lengyel @ericlengyel.bsky.social · 01/11/2025
New blog post about the development of Radical Pie: terathon.com/blog/radical...
12110
Reposted by Ignacio Castano
Eric Lengyel @ericlengyel.bsky.social · 22/10/2025
When I wrote PGA Illuminated, I had to paste an equation in Illustrator to draw highlights and annotations like these. Not any more. With Radical Pie, they get drawn directly in the equation editor, they auto-resize during edits, and everything stays live when embedding in Word.
191
Reposted by Ignacio Castano
Eric Lengyel @ericlengyel.bsky.social · 03/10/2025
Radical Pie has entered beta testing! I expect the final release to be available by the end of October.
2142
Reposted by Ignacio Castano
Don Williamson @donw.bsky.social · 24/09/2025
TIL of VD-Dev, despite sharing past franchise titles with Guillaume Dubail and the late Fernando Velez. These guys were proper savants of their time, unlike those that tend to hit popular culture. I'm in complete awe of their work, Asterix & Obelix was mind-blowing. www.youtube.com/watch?v=rfOR...
youtube.com
PW Hall of Fame: V.D.-Dev (aka Velez & Dubail) | Punching Weight [SSFF]
YouTube video by Stop Skeletons From Fighting
131
Reposted by Ignacio Castano
Ignacio Castano @icastano.bsky.social · 16/09/2025
The demo I’ve been working on is finally online: ludicon.com/sparkjs/gltf-demo/ It demonstrates the benefits of real-time texture compression in 3D web apps. It allows you to compare models using traditional KTX2 textures (UASTC and ETC1S) with the same assets compressed as AVIF + Spark.
ludicon.com
spark.js⚡ GLTF Demo
A GLTF viewer with Spark⚡ real-time GPU compression.
1164
Ignacio Castano @icastano.bsky.social · 16/09/2025
The demo I’ve been working on is finally online: ludicon.com/sparkjs/gltf-demo/ It demonstrates the benefits of real-time texture compression in 3D web apps. It allows you to compare models using traditional KTX2 textures (UASTC and ETC1S) with the same assets compressed as AVIF + Spark.
ludicon.com
spark.js⚡ GLTF Demo
A GLTF viewer with Spark⚡ real-time GPU compression.
1164
Reposted by Ignacio Castano
Bill Corbett @billcorbett.bsky.social · 11/09/2025
Remembering MN house speaker Melissa Hortman, her husband Mark and their beloved dog Gilbert. Murdered in June at their home by a rightwing Trump-voting evangelist, who also shot another MN lawmaker and his wife at THEIR home, 9 and 8 times, respectively (miraculously, they survived).
1) pic of Melissa and Mark Hortman 2) pic of Melissa Hortman and dog Gilbert
20136714636