mayingzhen / nvidia-texture-tools

Automatically exported from code.google.com/p/nvidia-texture-tools
Other
0 stars 0 forks source link

Add support for 3D textures #28

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
including 3D texture compression formats (DXT and VTC).

Original issue reported on code.google.com by cast...@gmail.com on 26 Jan 2008 at 8:58

GoogleCodeExporter commented 8 years ago
i'd like to see that one implemented

Original comment by jt...@imperial.ac.uk on 12 Nov 2008 at 6:11

GoogleCodeExporter commented 8 years ago
yes please

Original comment by dgiv...@gmail.com on 20 Nov 2008 at 6:45

GoogleCodeExporter commented 8 years ago
I'd like that too.

Original comment by perhugo...@gmail.com on 1 Nov 2010 at 1:31

GoogleCodeExporter commented 8 years ago
VTC Compressed Texture Image Formats
http://www.opengl.org/registry/specs/NV/texture_compression_vtc.txt

Original comment by KindDragon33 on 20 Feb 2011 at 5:02

GoogleCodeExporter commented 8 years ago
3d texture support would be great, both volume and texture arrays.

Original comment by decrez...@gmail.com on 28 Jun 2011 at 3:37

GoogleCodeExporter commented 8 years ago
Hey guys. I've attached a patch that includes basic support for 3d textures. 
This includes loading from dds and mipmap generation. Since I've done the work, 
I thought I'd contribute it. I've tried to make it so it doesn't add much extra 
work for 2d textures. The only thing missing in this implementation is 
compression.  

Original comment by hallchr...@gmail.com on 16 Sep 2011 at 8:50

Attachments:

GoogleCodeExporter commented 8 years ago
Wow, thanks for doing all the work. At first glance it looks pretty good, but 
it's a large patch and I'll have to review this carefully. I'll take a closer 
look at it over the weekend and try to have it integrated by early next week.

Original comment by cast...@gmail.com on 16 Sep 2011 at 11:54

GoogleCodeExporter commented 8 years ago
Looking at my patch, I accidentally forgot a few fixes:

In FloatImage::applyKernel(), the index() function call should use a z of 0 
instead of 1. This screws up some of the 2d filtering.

In normalMap.cpp in createNormalMap(), line 47 should be:
fimage->allocate(4, w, h, 1);

Original comment by hallchr...@gmail.com on 19 Sep 2011 at 4:24

GoogleCodeExporter commented 8 years ago
I've integrated your patch with some changes. At first glance things seem to be 
working alright, but I haven't tested the volume texture stuff myself.  I've 
updated some additional functions to support 3D textures, but there are still a 
few that expect 2D textures only.

Original comment by cast...@gmail.com on 27 Sep 2011 at 5:16

GoogleCodeExporter commented 8 years ago
Will this patch find it's way into the binary release as well? It seems that in 
the nvassemble source code the volume and array texture support has been 
commented out, which is probably the reason my nvassemble executable always 
wants to generate cubemaps instead of volumes. Is there a binary distribution 
of nvassemble with working volume texture support somewhere in the internets, 
or at least plans to have one some day?

Original comment by timo.kam...@tribestudios.com on 20 Sep 2012 at 9:24

GoogleCodeExporter commented 8 years ago
Support for 3D textures is only available in trunk. I'm currently too busy to 
wrap up a new release. Note however that nvassemble has not been extended yet 
and even with an updated release, it would not have support for 3D textures 
unless someone contributed the code to do so.

Original comment by cast...@gmail.com on 20 Sep 2012 at 5:28

GoogleCodeExporter commented 8 years ago
I got the volume textures working with nvassemble. Here's what I did:

1. Downloaded the featured source
2. Uncommented -volume argument handling
3. Fixed dds header setDepth and added DDSCAPS_COMPLEX (didn't find out until 
later that this was already fixed in trunk)

In my case I needed an uncompressed volume texture without mipmaps so this was 
enough for me. I guess what you mean by "support for 3D textures" is supporting 
compression and mipmaps since the basic volume texture support is there already.

Original comment by timo.kam...@tribestudios.com on 21 Sep 2012 at 7:30

GoogleCodeExporter commented 8 years ago
I think you are right, nvassemble should work with minor changes. Trunk already 
 takes input 3d textures and outputs them, it also supports mipmap generation 
and most image transformations. What's not supported is texture compression, 
but that's high on my TODO list.

Original comment by cast...@gmail.com on 21 Sep 2012 at 6:05