Yay! I finally managed to liberate a little time for me to work on virtual texturing!
Thinking it would help me avoid worrying about additional borders i used a texture-array instead of a large texture for my physical page-cache texture.
(Edit: My test textures just happen to be a 'best case' and with alternating border colors between pages an aliased edge is actually visible, so additional page-borders are still necessary)
Each layer in the texture-array (255 max) is a single page, each page is 128x128, which would give me a cache of 255 x 128 x 128 pixels.
Right now the 'virtual texture' is small enough that it fits completely in video memory, so it's not exactly 'virtual', there's no readback yet either.
There's already a page lookup table however.
The next step would be to readback which pages are visible, upload them and update the page lookup table.
Here's a short video showing the blending between the pages
Yes Yes no fancy graphics or even interesting geometry, I'm on a tight time schedule here people! ;)
Thinking it would help me avoid worrying about additional borders i used a texture-array instead of a large texture for my physical page-cache texture.
(Edit: My test textures just happen to be a 'best case' and with alternating border colors between pages an aliased edge is actually visible, so additional page-borders are still necessary)
Each layer in the texture-array (255 max) is a single page, each page is 128x128, which would give me a cache of 255 x 128 x 128 pixels.
Right now the 'virtual texture' is small enough that it fits completely in video memory, so it's not exactly 'virtual', there's no readback yet either.
There's already a page lookup table however.
The next step would be to readback which pages are visible, upload them and update the page lookup table.
Here's a short video showing the blending between the pages
Yes Yes no fancy graphics or even interesting geometry, I'm on a tight time schedule here people! ;)
While working on this i did realize that the rage screenshot in my last post has something odd in it..
Before i only noticed that all the pages where just nice and square and that they had a nice locality to them.
What i failed to notice, and what i notice now, that it's just plain weird that there's just no blending or any transitions between what i assumed where mip-maps!?
Maybe they're showing pages at the highest resolution? And the ones in the back are bigger because some pages just happen to have a larger geometric area assigned to them? And it just, by chance, looks like some sort of weird rough mipmapping?