Jump to content
  • Advertisement
Sign in to follow this  
rick_appleton

General solution Virtual Textures

This topic is 570 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm wondering about something that I haven't been able to find much info on. Assuming Virtual Texturing, how do you integrate materials with non-virtual textures? What ID to give meshes with that material, so that it is rendered into the feedback buffer, and so you know that that ID maps to an unloaded piece of plain old texture.

I see two options:

  1. I can give it any unique number initially, and then when it is actually needed to be paged into the physical texture change the ID so that it points at the right location in the indirection texture.
  2. Manage a BSP for the entire Virtual Texture space. Then when a plain texture comes in, find a place in the virtual texture that is empty, and assign it an id for that space. No need to actually load the texture yet, until the system determines that id is needed. In this case the ID will always point to a valid place in the indirection texture.

Is either of these the 'usual' solution or am I missing something?

Share this post


Link to post
Share on other sites
Advertisement

I'd go for 2. it keeps everything unified. the "virtual texture" on disc is nothing more than any other texture, beside being freaking huge, but that's just numbers. you don't really care at the high level. (you might care for optimization, e.g. tiling)

 

for the first implementation, don't go banana with sophisticated uv-space management (bsp etc.), in theory the uv space is unlimited. you will run into some issues at some point eventually, but you might solve that in a simpler way than writing managers to solve issues you "might run into" ;)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!