Reposted by Ignacio CastanoArseny Kapoulkine @zeux.io · 25/09/2026meshoptimizer 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/2026I 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.comEncoding Render Targets for Free with Tile ShadersEncoding textures with tile shaders: on most iPhones, as fast as not encoding at all. 081
Ignacio Castano @icastano.bsky.social · 17/09/2026Spark 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.comSpark 1.4Spark 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/2026As 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 CastanoMayor Zohran Kwame Mamdani @mayor.nyc.gov · 22/07/2026Benjamin Netanyahu is a war criminal. 20378813124814
Ignacio Castano @icastano.bsky.social · 11/07/2026I'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 CastanoEric Lengyel @ericlengyel.bsky.social · 10/07/2026Do 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 CastanoSuperluminal @superluminal.eu · 29/06/2026We'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.euSuperluminal For Linux | Fast Profiling Without The ChallengesNo 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/2026Spark for Unity demo is now on Google Play. ludicon.com/spark/#demo #unity 030
Ignacio Castano @icastano.bsky.social · 04/06/2026Today 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 #sparkt.cohttps://www.ludicon.com/castano/blog/2026/06/spark-for-unity/ 1217
Ignacio Castano @icastano.bsky.social · 03/06/2026So smooth! www.youtube.com/watch?v=mGip...youtube.comProcedural Virtual Texturing with SparkYouTube video by Ignacio Castano 171
Reposted by Ignacio CastanoDraknek & Friends @draknek.bsky.social · 30/05/2026The 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/2026Also in the demo: procedural virtual texturing. A 256K × 256K texture in 16 MB. 180
Ignacio Castano @icastano.bsky.social · 23/05/2026Texture2D 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/2026Loading 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.comImage Loading on the WebYou 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/2026I 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.comMetal Lossy Compression FormatThe 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/2026Larger 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.comThe True Size of ASTC TexturesIn 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/2026Infinite 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/2026I 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 #gltfyoutube.com3D on the Web 2026 - spark.js glTF Demo and Real Time Texture CompressionYouTube video by The Khronos Group 030
Ignacio Castano @icastano.bsky.social · 11/04/202620% faster texture encoding on Metal? Leverage heap aliasing to emulate resource casting and skip the blit. www.ludicon.com/castano/blog...ludicon.comWriting to Compressed Textures in MetalWriting to Compressed Textures in Metal using heap aliasing. 1132
Ignacio Castano @icastano.bsky.social · 28/03/2026I'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.comHardware Image CompressionOne 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/2026I'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/2026I'm excited to announce the release of spark.js 0.1 now with support for WebGL! www.ludicon.com/castano/blog... #webgl #webgpu #sparkjsludicon.comAnnouncing spark.js 0.1I'm excited to announce spark.js 0.1, now with WebGL support! 0152
Ignacio Castano @icastano.bsky.social · 19/02/2026Runtime 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.comRuntime Mipmap GenerationOne 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 CastanoStefan Reinalter @molecularmusing.bsky.social · 12/02/2026I'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 footageYouTube video by Molecular Matters 165113
Reposted by Ignacio CastanoKostas Anagnostou @kostasanagnostou.bsky.social · 10/02/2026I’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.comAdventures in Neural RenderingIn 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/2026I'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 #sparkjsludicon.comAn Updated Sponza glTF – Ignacio Castaño 3132
Ignacio Castano @icastano.bsky.social · 05/02/2026While 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 #sparkjsludicon.comNormal Map Compression Revisited – Ignacio Castaño 01711
Reposted by Ignacio CastanoJendrik Illner @jendrikillner.bsky.social · 02/02/2026Graphics Programming weekly - Issue 426 - February 1st, 2026 www.jendrikillner.com/post/graphic... 15515
Reposted by Ignacio CastanoStefan Reinalter @molecularmusing.bsky.social · 31/01/2026For 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 CastanoDon McCurdy @donmccurdy.com · 28/01/2026Really 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/2026Choosing 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 #webglludicon.comChoosing Texture Formats for WebGPU applications – Ignacio Castaño 072
Ignacio Castano @icastano.bsky.social · 21/01/2026spark.js has been featured on webgpu.com! "Real-Time Texture Transcoding for Faster Asset Delivery" www.webgpu.com/showcase/spa... #webgpu #threejs #gamedevwebgpu.comspark.js GLTF Demo: Real-Time Texture Transcoding for Faster Asset DeliveryA 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/2026I'm excited to announce that @maxonvfx.bsky.social has licensed Spark for their cutting-edge Redshift renderer! Looking forward to supporting their work. 092
Reposted by Ignacio CastanoGlenn Fiedler @mas-bandwidth.bsky.social · 03/01/2026Fuck Donald Trump 091
Reposted by Ignacio CastanoKat Abughazaleh @katmabu.bsky.social · 03/01/2026We have to impeach him. 631192912997
Ignacio Castano @icastano.bsky.social · 10/12/2025three.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 #threejsgithub.com 191
Reposted by Ignacio CastanoArseny Kapoulkine @zeux.io · 08/12/2025After 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/v1meshoptimizer.org🐇 meshoptimizer v1.0Mesh optimization library that makes meshes smaller and faster to render 924975
Reposted by Ignacio CastanoOmar @ocornut.bsky.social · 05/11/2025Funding: 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 CastanoEric Lengyel @ericlengyel.bsky.social · 01/11/2025New blog post about the development of Radical Pie: terathon.com/blog/radical... 12110
Reposted by Ignacio CastanoEric Lengyel @ericlengyel.bsky.social · 22/10/2025When 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 CastanoEric Lengyel @ericlengyel.bsky.social · 03/10/2025Radical Pie has entered beta testing! I expect the final release to be available by the end of October. 2142
Reposted by Ignacio CastanoDon Williamson @donw.bsky.social · 24/09/2025TIL 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.comPW Hall of Fame: V.D.-Dev (aka Velez & Dubail) | Punching Weight [SSFF]YouTube video by Stop Skeletons From Fighting 131
Reposted by Ignacio CastanoIgnacio Castano @icastano.bsky.social · 16/09/2025The 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.comspark.js⚡ GLTF DemoA GLTF viewer with Spark⚡ real-time GPU compression. 1164
Ignacio Castano @icastano.bsky.social · 16/09/2025The 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.comspark.js⚡ GLTF DemoA GLTF viewer with Spark⚡ real-time GPU compression. 1164
Reposted by Ignacio CastanoBill Corbett @billcorbett.bsky.social · 11/09/2025Remembering 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). 20136714636