Skip to content
This repository has been archived by the owner on Nov 27, 2018. It is now read-only.

Support for DX10 #4

Closed
Ryder25 opened this issue Oct 3, 2016 · 10 comments
Closed

Support for DX10 #4

Ryder25 opened this issue Oct 3, 2016 · 10 comments

Comments

@Ryder25
Copy link

Ryder25 commented Oct 3, 2016

I'm starting to see BC7 being utilized from the DX10 formats in some games. Are you planning on adding support for this?

I've also seen array size from the DX10 header being put to use, but that's not so important.

@KFreon
Copy link
Owner

KFreon commented Oct 4, 2016

It's likely I'll eventually add support for this, but I don't need it atm, and is thus low on my list of priorities unfortunately.
That said, I am looking at using the GPU for encoding and decoding, and if that ends up going the way of using DirectX, then support for those will likely be native.

@Ryder25
Copy link
Author

Ryder25 commented Oct 4, 2016

Ah, interesting. I'll be looking forward to when you do get around to it.

@KFreon
Copy link
Owner

KFreon commented Dec 14, 2016

Not yet fixed in the latest release :(
Quite painful to implement everything, but I've recently discovered that all this might have been for naught.
Either way, a later version will have DX10 support.

@KFreon
Copy link
Owner

KFreon commented May 21, 2017

Loading BC6 and BC7 works. Saving doesn't yet though.

@Ryder25
Copy link
Author

Ryder25 commented May 23, 2017

Great stuff! I just gave it a quick shot and it looks promising so far. All I personally need is WPF preview anyway, so saving is not an issue. I have not tested BC6 yet, only BC7.

I did have it crash on one image with a specific param setting. See the code below. In the zip I have included one dds texture where the crash happens.

The image is 1024x128, 6 mips, texarray size 11

var image = new CSharpImageLibrary.ImageEngineImage("test.dds", 1024); // crash here
var image = new CSharpImageLibrary.ImageEngineImage("test.dds"); // no crash without maxDimension
var bitmapSource = image.GetWPFBitmap(1024, true);

The second dds (texarray) in the zip shows this same image, but it also contains multiple images in one file. The DX10 header tells how many images are bundled. This is just extra in case you want to look into it. DirectXTex has a texassemble CLI that can create these types of files.

In my UI I'm simply separating out the byte code of each bundled image, and recreating the header to make a regular dds file before displaying. I let the user scroll through the images by arrow keys to change the texarray index.

DX10 TexArray and Crash DDS.zip

@KFreon
Copy link
Owner

KFreon commented May 24, 2017

Interesting bug...I'll have to check that out.

As for the weird texarray thing, I do recall seeing something about that. I'll have to read up on it more.
I feel like DX10 is spread a bit thin in its functionality. Or perhaps too bloated. There's so many options, it feels like it'd be better if they broke them up a bit more.

Anyway, I'll look into them :)

@KFreon
Copy link
Owner

KFreon commented May 26, 2017

OK I fixed that bug you were having.
I'll look into the tex array stuff.

EDIT: Oh that's cubemap style stuff. I wasn't going to handle those, sorry :(

@Ryder25
Copy link
Author

Ryder25 commented May 26, 2017

Nice, looks like it's fixed!

No worries about the texarray. It's not a huge deal.

@KFreon
Copy link
Owner

KFreon commented May 26, 2017

I'll close this issue once I've figured out how to save BC6 and 7.

@KFreon
Copy link
Owner

KFreon commented Jun 16, 2017

Fixed!
EDIT: Not the cube map/texarray thing though.

@KFreon KFreon closed this as completed Jun 16, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants