I first got introduced to texture compression at a small game developer in Palo Alto CA named Blue Shift. The then-CTO (John Brooks) had worked on several texture compression systems for the Dreamcast and PS2. I already had a lot of experience with lossy/lossless compression and was pretty impressed by what John pulled off. Sega's World Series Baseball used one of these lossy GPU texture compession systems.
A few years later, while working on the original Halo Wars, I had to optimize the game's memory usage on the Xbox 360. We only had around 480MB of RAM available (total), and we were constantly running out. I remember what John had done for his games so I wrote a basic lossy texture compression system for that title.
After Ensemble Studios got shut down I had almost a year to work on whatever I wanted, so I decided to work on crunch and open source it. At first, nobody believed it was possible, and the phrase "rate distortion optimization" was totally unknown in the game development world. It was open source, so anyone could download it and play with it and see that it worked. At this point a large number of commercial products use crunch on mobile and desktop. It seemed natural to create Basis.
Right now we're seeing a huge shift in the triple-A game space towards rate distortion optimized GPU texture compression. In a year or two every major desktop/mobile title that ships textures will be using RDO texture compression, because it makes good economic sense to do so. Spending valuable customer time downloading imperceptible noise makes no sense. The major console manufacturers are all catching on and now it's basically a race to see who ships this tech into their SDK's first.
Thanks for the answer! I learned a lot just from reading that.
Sounds like you made your open source project into a career, and that's really inspiring.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.