Monday, October 29, 2012

Sparse Virtual Texturing Demo

I recently had some spare time to write a sparse virtual texturing demo using OpenGL. The current state of the demo can be seen in the video below.
Sparse virtual texturing is basically an out of core rendering technique that allows using textures that exceed available video memory by splitting them into small tiles and only load on demand the needed tiles.
During the development I also wrote up some notes regarding other work on this topic and on how I created my test data. These notes can be found at http://holger.dammertz.org/stuff/notes_VirtualTexturing.html.


So far the demo uses a 32256x32256 pixel virtual texture and 128x128 pixels per tile. It supports tri-linear filtering and asynchronous loading of tiles from disc.

To create the test data I used blender to bake a procedural texture and the lighting into the virtual texture. Some more details on the scene and the .blend file can be found at the link above.

Below is another video showing the same scene with a 16128x16128 pixel test texture.