Important information: this site is currently scheduled to go offline indefinitely by December 1st 2023.
If you wish to donate to attempt the preservation of tools and software somewhere else before it goes down, check the GoFundMe

Call of Duty Ghosts DirectX 11 BC6 BC7 texture compression

Get your graphics formats figures out here! Got details for others? Post here!
Post Reply
User avatar
cra0
ultra-veteran
ultra-veteran
Posts: 438
Joined: Fri Apr 27, 2012 9:37 am
Has thanked: 29 times
Been thanked: 189 times
Contact:

Call of Duty Ghosts DirectX 11 BC6 BC7 texture compression

Post by cra0 »

I'm reversing call of duty ghosts, they seem to use some DX11 textures for storing normal maps

-BC1_UNORM (DXT1)
-BC2_UNORM (DXT3)
-BC3_UNORM (DXT5)
-BC5_SNORM (16Bytes per 4x4 pixel block)(ATI2)
-BC7
-r8g8b8a8_UNORM
-r16g16b16a16_float

I can't seem to figure out this one anyone mind taking a look. I'm sure it's one of the dx11 compression methods but so far no tool has worked to even view it.

Here is as close as I have gotten it under BC5
Image

rawfile
https://dl.dropboxusercontent.com/u/107 ... ure.rawIWI
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4299
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1152 times
Been thanked: 2252 times

Re: Call of Duty Ghosts DirectX 11 BC6 BC7 texture compressi

Post by shakotay2 »

which tool did you use to display it?

This is a R16G16B16A16 (uint16) to R8G8B8A8 "conversion" by me
Image
so your pic is looking much better. :D
What is the problem? The "noise" or the number of palette entries?
Image

Guess you're searching for a calculation formula for BC7 (similar to the one for BC5_SNORM http://msdn.microsoft.com/en-us/library ... 85%29.aspx)?

What about this: http://msdn.microsoft.com/de-de/library ... 85%29.aspx (Decoding the BC7 Format)

Seems to make sense to use the D3DX11CreateTextureFromFile function (D3D 11 SDK).

edit: ok, if you tried BC7 it seems to be a little bit harder...
Last edited by shakotay2 on Thu Nov 21, 2013 11:34 am, edited 2 times in total.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
User avatar
cra0
ultra-veteran
ultra-veteran
Posts: 438
Joined: Fri Apr 27, 2012 9:37 am
Has thanked: 29 times
Been thanked: 189 times
Contact:

Re: Call of Duty Ghosts DirectX 11 BC6 BC7 texture compressi

Post by cra0 »

shakotay2 wrote:which tool did you use to display it?

This is a R16G16B16A16 (uint16) to R8G8B8A8 "conversion" by me
Image
so your pic is looking much better. :D
What is the problem? The "noise" or the number of palette entries?
Image

Guess you're searching for a calculation formula for BC7 (similar to the one for BC5_SNORM http://msdn.microsoft.com/en-us/library ... 85%29.aspx)?

What about this: http://msdn.microsoft.com/de-de/library ... 85%29.aspx (Decoding the BC7 Format)
Photoshop I used the nvidea texture tools set to make a bc5 file and they wacked on the header and opened the dds in photoshop.

It's weird I've tried everything even bc7 compression and that didn't work either
gregkwaste
advanced
Posts: 69
Joined: Tue Apr 15, 2014 10:17 pm
Has thanked: 2 times
Been thanked: 9 times

Re: Call of Duty Ghosts DirectX 11 BC6 BC7 texture compressi

Post by gregkwaste »

I'm posting here instead of making a new topic because i think i have some similar textures and i am also guessing that they are compressed with one of the newest compression methods.

https://www.dropbox.com/s/d7dnxzkd0t5cf ... m.dds?dl=0


I've added a dxt5 (bc5) header on this one but it is a mess. The container in which it is contained states that its name is ball_nm.dds, its from FIFA 15 Demo for PC which was released a couple of days ago and its 99,999% a normal map as well.

Image


Any help is highly appreciated :)
gregkwaste
advanced
Posts: 69
Joined: Tue Apr 15, 2014 10:17 pm
Has thanked: 2 times
Been thanked: 9 times

Re: Call of Duty Ghosts DirectX 11 BC6 BC7 texture compressi

Post by gregkwaste »

I solved my issue.

Its a BC5 compressed image and it needs the "new" DDS_HEADER_DXT10 structure as an additional 20 bytes to the main dds header which needs the dwFourCC code to be set to "DX10"

In this additional header the mode the form contains the surcace picture format which can be 1-115 :P
More info here: http://msdn.microsoft.com/en-us/library ... 85%29.aspx

Anyway i extracted mine using texgenpack tool (after an enless google searching) http://sourceforge.net/projects/texgenpack/

and then i needed to invert the color channels

Here is what came out :D

Image
gregkwaste
advanced
Posts: 69
Joined: Tue Apr 15, 2014 10:17 pm
Has thanked: 2 times
Been thanked: 9 times

Re: Call of Duty Ghosts DirectX 11 BC6 BC7 texture compressi

Post by gregkwaste »

Managed to get it working with nvidia texture tools 2 as well. To be honest i have no idea what kind of garbage the nvidia tool wrote in the dds header, but this seems to work with the basic dds header (without the dx10 extension), with dwFourCC code equal to ATI2 and some other text added by the tool in it.

Anyway with this way, i managed to get it working with photoshop right away and i tested the dds with blender and they work there as well.
User avatar
cra0
ultra-veteran
ultra-veteran
Posts: 438
Joined: Fri Apr 27, 2012 9:37 am
Has thanked: 29 times
Been thanked: 189 times
Contact:

Re: Call of Duty Ghosts DirectX 11 BC6 BC7 texture compressi

Post by cra0 »

gregkwaste wrote:Managed to get it working with nvidia texture tools 2 as well. To be honest i have no idea what kind of garbage the nvidia tool wrote in the dds header, but this seems to work with the basic dds header (without the dx10 extension), with dwFourCC code equal to ATI2 and some other text added by the tool in it.

Anyway with this way, i managed to get it working with photoshop right away and i tested the dds with blender and they work there as well.
Good to hear could you post the sample dds
gregkwaste
advanced
Posts: 69
Joined: Tue Apr 15, 2014 10:17 pm
Has thanked: 2 times
Been thanked: 9 times

Re: Call of Duty Ghosts DirectX 11 BC6 BC7 texture compressi

Post by gregkwaste »

cra0 wrote:
gregkwaste wrote:Managed to get it working with nvidia texture tools 2 as well. To be honest i have no idea what kind of garbage the nvidia tool wrote in the dds header, but this seems to work with the basic dds header (without the dx10 extension), with dwFourCC code equal to ATI2 and some other text added by the tool in it.

Anyway with this way, i managed to get it working with photoshop right away and i tested the dds with blender and they work there as well.
Good to hear could you post the sample dds
https://www.dropbox.com/s/pf7c27nzkyv1a ... d.dds?dl=0

This is the final ;)
zohaa3492
ultra-n00b
Posts: 1
Joined: Thu Oct 23, 2014 6:23 am

Re: Call of Duty Ghosts DirectX 11 BC6 BC7 texture compressi

Post by zohaa3492 »

Gildor replied with:
zoha
Post Reply