Jump to content
  • Advertisement
Sign in to follow this  
Hyunkel

DDS texture array tool

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

DDS files with dxt10 header support texture arrays.
Is there any tool that can actually create such files?

The only tool I found that supposedly supports this is "nvassemble" in the nvidia texture tools.
However it turns out that it only works with exactly 6 array slices.

Alternatively, what's the most straightforward way to create a texture array from
dxt1 dds files with mipmaps?

Cheers,
Hyu

Share this post


Link to post
Share on other sites
Advertisement
I don't know of any offhand that can do it. You're probably best off writing your own that uses either D3DX or DirectXTex to load the separate DDS files and save out the combined DDS file.

Share this post


Link to post
Share on other sites
If I write something myself, I'll probably want to load multiple dds files directly into a texture array I think.

What's the memory layout for this though?
http://msdn.microsoft.com/en-us/library/windows/desktop/bb943991(v=vs.85).aspx only mentions main surface data and remaining surface data.

Can I directly copy data from multiple dds files with mip maps (assuming same dimensions and format) to a dx11 texture array resource like this?:
- Tex1 bdata[]
- Tex1 bdata2[]
- Tex2 bdata[]
- Tex2 bdata2[]
- ...

Or is the memory layout different?

msdn mentions that the pitch for dxt1/bc1 textures is:
max( 1, ((width+3)/4) ) * 8

they don't mention anything about the slice pitch.
Is it simply (pitch * height)?

Share this post


Link to post
Share on other sites
Texture arrays are laid out such that you have all of the mips for slice 0 together, then all of the mips for slice 1, and so on. You shouldn't need to worry about pitch, because the array slices are entirely separate subresources (just like mipmaps).

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!