Jump to content
  • Advertisement
Sign in to follow this  
Juliean

Textures: SetLOD or Custom Loader?

This topic is 2608 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

Hi,

so I want to allow the user to set the texture LOD (not distance based): high (full size), middle (half size) and low(middle size). Now I know that IDirect3DTexture's have a method SetLOD that offers this functionality. However, isn't the main use of such a texture lod to reduce textures size in graphic memory on low end machines as well as texture lookups? I've written a custom loader that actually stores the textures in the reduzed size, however it takes some time to load everytime LOD gets changed. What would you recommend me to do? Does it even matter? I can't for example test what is faster, as my graphics car has too much memory to being performance caped by texture load..

Share this post


Link to post
Share on other sites
Advertisement
I would just use medium resolution for all textures and optimize rendering using 8xAnisotropic mipmap sampling. The DirectX 9 version of CivilizationV is a good example of when it is not worth to degrade the graphics anymore because anyone without the right hardware will just buy an earlier version of the game.

Share this post


Link to post
Share on other sites
Thank you, but what was it exactly with civV? I never played it, so I can't know. And isn't this different? I just want to have an option like most AAA games have it, to choose the texture detail. Even with AF 8x, 512x512 textures aren't the same as 1024x1024, are they? (choosing the med setting on my pc with 2560x1600 resolution looks like crap). Or is there another reason why you would recommend me not to use texure quality settings? I'd like to know!

Share this post


Link to post
Share on other sites
Even if you don't load the full resolution to the graphics card, you will still have to store the highest resolution on the hard drive. I would rather give out a light version of the game that take 20MB instead of 500MB for the users with limited hardware.

Civilization 5 is a popular strategy game because you can use social skills to get an advantage. The shaders used are so advanced that they use slow emulation in the DirectX 9 version.

Share this post


Link to post
Share on other sites
Ah, I see. Didn't think of that before. I quess it depends on the way of the release of my game. If it comes on dvd then its not worth it (well that option is more or less obscure, but in case). An online release would be a good reason for this, but just for hardware's sake.. A hdd with 160gb is minimum standard as far as I can say, a least for pc's that support shader model 3.0 (requirement for my game), a few hundred megabytes shouldn't make that difference, should it?

So what does slow emulation mean? Like, software emulation of shader model 4.0 shaders to support windwos xp? Or just overpowered shaders that ran slowly?

Share this post


Link to post
Share on other sites
The ground was slowly drawn to a single texture as if they used the CPU for drawing the layers. If you move the the camera to a new location, you have to wait about 5 seconds until you have a decent resolution again.

My dad run out of space because he take pictures of birds even with many terrabytes of external harddrives.
I run out of space because I have 95 games on my steam account and can't have them all installed at once.

Some people live in poor countries and have slow internet connection.

Share this post


Link to post
Share on other sites
The simplest option to implement is to make use of the D3DX_SKIP_DDS_MIP_LEVELS macro to generate the MipFilter value when calling D3DXCreateTextureFromFileEX(). Note that dropping one mip level is probably enough to downsize textures for a high end card into ones for a low end card. For an in-between option try only reducing some of the textures.

If you're not using DXT compressed textures then those can also save you lots of video memory and disk space compared to uncompressed textures, as well as improving performance. The only downside is that the compression is lossy and can generate noticeable artefacts, especially in non-photographic style images.

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.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!