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 cod...
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 cod...
The other day I was looking at this clustered shading WebGPU demo and was surprised by the jarring texture compression artifacts: The glTF model using KTX ETC1S...
Normal maps are one of the most widely used texture types in real-time rendering, but they’re also a bit unusual. They don’t represent color, rely on geometric ...
This is a supplement to Don McCurdy’s excellent article, Choosing texture formats for WebGL and WebGPU applications. Don covers the tradeoffs between modern ima...
three.js r180 was released last week and among the many improvements, the one that I’m most excited about is a series of changes by Don McCurdy that enabl...
I’m excited to announce the release of Spark 1.3 and the launch of spark.js, our new JavaScript API for real-time GPU texture compression on the web. The highli...
I’m excited to announce that Spark 1.2 is finally out! Spark is the go-to solution for real-time GPU texture compression, offering high-performance codecs...
When I joined NVIDIA in 2005, one of my main goals was to work on texture and mesh processing tools. The NVIDIA Texture Tools were widely used, and Cem Cebenoya...
I would like to share some details about the tools that I’ve built to develop the Spark codecs. When I started working on Spark I had no idea how much tim...
I’m excited to announce that I’m starting my own business to research and develop graphics and game technologies, with a focus on the texture and me...