Block blurring (prefiltering)
Modern GPU texture compressors have a secret (but dangerous) superpower: prefiltering (blurring). Sometimes an encoder way overfits edges, causing overall perceptual quality to collapse. One way to...
View Articlebug found in Intel's ASTC compressor (part of ispc_texcomp)
I've ported Intel's ASTC compressor (in ispc_texcomp) to pure C for benchmarking and discovered this gem during the process. The swap()utility function for float values, located near the top, has a...
View ArticleBasis Universal v2.5 with in-loop deblocking: shipping soon
We're feature complete. We're now on the downslope to shipping support for in-loop deblocking using a simple standardized reconstruction operator. The operator uses 1 tap or 5 taps (1 center, 2...
View Article"Shrek" Xbox
“Shrek” was a launch title for the original Xbox that I worked on 25 years ago (in 2001). It was the first shipped game to use a technique called Deferred Shading. It wasn’t my first 3D game, though:...
View ArticleIntra-Residual Weight Grid DCT/DST for BC7/ASTC
This GPU texture supercompression method for weights (or "indices", or "selectors") uses neighboring blocks to predict the weight grid of the current block, before applying a forward 2D DCT/DST to the...
View ArticleXBC7/XUBC7 (supercompressed weight grid residual DCT+endpoint DPCM+Zstd)...
The next step is integration and connecting the BC7->ASTC LDR 4x4, ETC1, etc. transcoders into place in the Basis Universal library. Bitrate and quality at low Q's (Q=1/100) are exceptional vs....
View ArticleXBC7 planning
I've been doing this for fun as a side project, as ASTC is still way more important. (ASTC is the most deployed GPU format in the world, BC7 is niche by comparison.) It'll all be entirely open source:-...
View ArticleXUBC7/XBC7: Trellis quantization added
We just added Trellis quantization to XUBC7 (supercompressed universal BC7) via AC truncation, as long as the PSNR drop is within a configurable channel-weighted PSNR window, and the PSNR doesn't fall...
View ArticleBasis Universal library .DDS support coming in v2.5
The Basis Universal GPU texture library v2.5 will have full .DDS file format support: 2D/cubemaps/texarrays+mips, BC1-7 and uncompressed, are usable on any GPU device/API. It uses near-lossless...
View ArticleBasis Universal v2.50 has shipped with ASTC in-loop deblocking, XUBC7, and...
The documentation is still coming online. This wiki page was just added:https://github.com/BinomialLLC/basis_universal/wiki/Shader-and-In-Loop-Deblocking
View ArticleIn-loop deblocking of GPU textures
I posted this thread on X last night - mirroring it here:On GPU textures the block lattice is a function of UV + known block size. This makes GPU texture seam artifacts entirely predictable, so...
View ArticleXUBC7 Low-Level Format Document
GPU texture blocks (ASTC, BC7, ETC1/2, etc.) can serve as a latent representation for a modern intra codec. GPU texture formats aren't merely final compressed bitstreams; they can be treated as...
View ArticleFitting a neural texture decoder with ES (no backprop)
This is something I prototyped for fun in an evening, and now the idea is Prior Art:https://github.com/richgel999/neural_texture_esSee GitHub commit f486380. Also see the time stamped X post.Toy neural...
View ArticleETC1S Chroma Artifact Filtering, Real-Time Encoders and Transcoding Format...
ETC1S is the original universal supercompression texture format supported by the open source Basis Universal library. It was designed to support all LDR GPU texture formats like ETC1, BC1-7, ASTC,...
View ArticleMirror of neural texture compression trained with Evolution Strategies
This is a Prior Art disclosure mirrored from the GitHub repo here, originally created September 3, 2026: https://github.com/richgel999/neural_texture_estoy neural texture compression trained with...
View ArticleFitting Neural Textures and PBR Material Maps with ES (No Backprop)
The repo, released on September 4, 2026 is here:https://github.com/richgel999/neural_texture_es2ES=Evolution Strategies.Here is a mirror of the README.md file on GitHub, with the Prior Art...
View ArticleNeural GPU block compression
Neural texture block decoding, trained with Evolution Strategies (ES), 3,000 iterations.This example uses 2 source latent texture: A full-res 512x512 at 3-bpp, and 1/4 res (128x128) with 4 channels at...
View ArticleNeural block texture compression with CUDA
Neural block texture compression, single 1k image, right=compressed, with CUDA on a 5090 (~850 line .CU file), 40.78 dB in 55 secs. 4 bpp selectors + 2 bpp latent + .05 bpp MLP.The 2 latent layers...
View ArticleNeural block texture compression trained with Evolution Strategies (ES) on...
Neural texture block compression trained with Evolution Strategies (ES) - with C++ and CUDA code, and a public (time stamped) disclosure of Prior...
View ArticleNeural block texturing example
Neural block texturing, bilinear sampled "colors" latent+full res GPU texture-style "selector" latent (sampled with nearest): 4 textures, 2.24 bpp/texture. Top level ("selector") latent contains 2...
View ArticleNeural block GPU texture compression: Prior Art disclosure
Prior art disclosure: neural block texturing, a hybrid of compressed GPU textures and neural texturing. Updated Sept. 6, 2026. Added my latest...
View ArticleNeural block textures stored inside KTX2: a near-perfect fit
A neural block texture codec can be part of the Khronos KTX2 texture format. The initial plan is a lowest common denominator approach: inference on load with SIMD+threading, ~250-500 MLP weights (up to...
View ArticleNeural block textures vs. GPU textures
The existing neural texture work has made the entire space overly complicated.The first step beyond GPU textures is to essentially keep the current GPU texture-style latent, but replace the fixed...
View ArticleNew GitHub repo release: "neural_block_textures"
My latest work in this space is here:https://github.com/richgel999/neural_block_texturesThis is a time stamped Prior Art release dated: September 8, 2026, which will be mirrored to various archives.
View ArticleNeural texture decoders can suppress DCT ringing artifacts within latent...
This is mirrored from my X post.This is very image codec specific: Normally a DCT-based (JPEG style) codec has mosquito/ringing noise especially on text. But within a neural texture/image codec that...
View Article