Sign in to follow this  

Texture Streaming

This topic is 2851 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 have a question regarding asynchronous texture loading. In my level, it is likely that I'll have areas of the map which use completely different textures to other areas and as there may be a fair number, I'd like to introduce some form of texture streaming. So my player is in one area and gradually moves to an area where new texures need to be asynchronously loaded, how is this normally done? I was thinking about having a pool of reusable textures (each with a mipmap chain) and when the player moves around and a new texture is introduced, the least recently used texture (that are not visible from the current position and therefore no longer required) is reused with new graphics. As the player is generally likely to be a fair distance from the first sight of a new texture, we load the lowest mipmap level (i.e. the least detailed) and put that into the recycled texture. As the player gets closer, higher levels are asynchronously loaded and, when ready, are slotted into the recycled texture's mipmap levels. Does this sound about right? I'm not sure how fast it is to write to a mipmap surface on the fly but I can't think of any other way to do it without loading the entire mipmap chain in one go. If the player gets to an area where he/she can see a texture at a distance, but then turns and goes back the other way, it would be wasteful to have loaded the entire mipmap chain when only the lowest level was required . I suppose the level designer would need to ensure that the amount of textures available in the pool is sufficient that at any point in the map, there are enough textures objects to cover every texture. Any thoughts? Thanks [c++, DX9]

Share this post


Link to post
Share on other sites

This topic is 2851 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this