Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-add DXTn decompression #6

Open
Mellnik opened this issue Oct 23, 2024 · 3 comments
Open

Re-add DXTn decompression #6

Mellnik opened this issue Oct 23, 2024 · 3 comments

Comments

@Mellnik
Copy link

Mellnik commented Oct 23, 2024

Hey, just noticed that you fully rewrote the library.
I am currently using the "old" version (from 1-2 years ago) and while looking through the source I noticed that the DXT decompression is gone.
Did I miss it or was it really removed?

Is there anything else that changed feature wise?

Thank you!

@Derpius
Copy link
Member

Derpius commented Oct 23, 2024

Hi, you haven’t missed anything!

Decompression methods along with the pixel accessing helpers were removed as part of tailoring the library to graphics APIs.

For some context, the original version of VTFParser was written for use in VisTrace (fully CPU-side), but we’re now using it - along with the other parsers - in a Vulkan-based project.

I’m happy to add some helper methods to perform decompression, although those would be something you’d use or enable on top of the Vtf class to avoid impacting read performance. There are other libraries that can do this for you, but generally as part of a much larger package

Is there anything else that changed feature wise?

In VTFParser it’s mostly features removed (e.g. decompression or the sampler methods) in favour of a GPU-oriented and faster parser

MDLParser has also received a rewrite though, and that comes with accessor helpers (similar to fastgltf) to make navigating the data less painful

There’s also the in-development PHYParser and impending BSPParser rewrite (for the same reasons as above). At some point I’ll be implementing parsers for the keyvalue and VPK formats too

@Derpius Derpius changed the title DXT compression? Re-add DXTn decompression Oct 23, 2024
@Derpius
Copy link
Member

Derpius commented Oct 23, 2024

Oh almost forgot, there’s actually documentation now too: https://taservers.github.io/VTFParser/

@Mellnik
Copy link
Author

Mellnik commented Oct 23, 2024

Thank you for the explanation and linking the documentation.

I am probably going to update my app with the latest version here in the future. Taking the old version as reference for implementing pixel parsing for my needs. And for DXT probably DirectXTex.

The abstraction is a good thing. Nice to see that your other parser libraries getting updated too.
Having a utility layer on top would be super useful for all libraries. Like the pixel access and decompression for VTF.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants