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
DDS parsing and exporting #1285
Comments
I guess you don't need a fully fledged DDS converter, iirc. they use one of the simpler encodings. |
Another source of inspiration could be: |
@heinezen Do you know if there is any reason we cannot simply use wand? I tested wand with this small script, using a file from DEII:
|
@TobiasFP It require imagemagick, does it? If so, I'd rather not use wand because it introduces a pretty heavy dependency for something that is essentially only required when the converter runs (which is ideally only used once during the setup phase). We would also have to bundle it for the Windows builds. So good idea because it would simplify it for us, but imagemagick has to much overhead imo :D |
Yeah, that was what i thought too. If not, the dds importer would be of tremendous help writing the parser (and listed under a cc0 license). |
I see that pillow extended their DDS support which is nice :) Although it is probably still slow. I've added a link to pillow's code to the initial post. We could use their implementation, but then we miss out on PNG optimization and speed. I would still prefer a fast Cython implementation. |
Do we have an estimate when the dds2png library is necessary to push on? If you think this is the wrong way to go, I will gladly begin on the cython implementation, but it will take quite a while to finish, as I do not have much spare time.
|
@TobiasFP It is not strictly necessary, but using pillow is better than no support. We can implement this issue using pillow and leave it open until the Cython implementation is ready :) |
Required skills: Python, Cython
Difficulty: Medium
DDS files are used to store terrain textures in the Definitive Editions of AoE1 and AoE2. We will need to convert them to PNG so that they can be used by openage. pillow supports DDS, but their parser is written in Python. For maximum speedup, we should implement A parser written in Cython with Python glue code to attach it to the converter.
Renderdoc has a C++ implementation of a DDS parser that we could use as an inspiration
Further Reading
The text was updated successfully, but these errors were encountered: