On 17/04/2018 15:33, Иван Комиссаров wrote:
At the point i wrote the plugin, my usecase was simple - to convert plain QImages to and from DDS icons (used in starcraft2, which uses quite a few formats DDS can handle).
But yes, i forgot floating point textures.
Compressed textures (DXTN/ATI2) are just compressed (a)rgb32, nobody uses compressed jpeg, it is decompressed before usage (correct me if i'm wrong, but videocards uses DDS because it's decompression algorithm can be easily implemented in hardware)

DDS is just a container format. Peppe's point stands, QImage and friends are the wrong vehicle for supporting this. They simply do not offer enough degrees of freedom in the API to do so properly. And adding them would be changing what QImage is designed for.

QImage is designed to represent a single image in one of a few supported formats. Proper texture support needs to be able to address images by mip level, array layer and cubemap face in any of the formats supported.

The compressions used by various formats supported within a DDS (or KTX) file are designed so they can be decompressed on the fly for a small block of pixels. These block compression algorithms do not offer such on-disk savings as png/jpeg but are much easier to sample from in access patterns typically required by fragment shaders.

I'm not saying a tool to convert to/from dds/some other format would not be useful. Just that QImage is the wrong way to approach this due to the above.

Sean


2018-04-17 14:28 GMT+03:00 Giuseppe D'Angelo <[email protected] <mailto:[email protected]>>:

    On 17/04/18 13:21, Иван Комиссаров wrote:

        Ok, there's another problem with QImage - ARGB64 and friends...
        This can be solved adding QImage::pixel64() or something like
        that... or use QTexture with 64bit "pixel"


    And a bunch of packed formats not currently supported, and floating
    point channels, and compressed texture formats. I stand my point:
    DDS files are not meant to be handled by QImage.

    What is your use case exactly for wanting this support?

    Cheers,

-- Giuseppe D'Angelo | [email protected]
    <mailto:[email protected]> | Senior Software Engineer
    KDAB (France) S.A.S., a KDAB Group company
    Tel. France +33 (0)4 90 84 08 53, http://www.kdab.com
    KDAB - The Qt, C++ and OpenGL Experts




_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development


--
Dr Sean Harmer | [email protected] | Managing Director UK
KDAB (UK) Ltd, a KDAB Group company
Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090
Mobile: +44 (0)7545 140604
KDAB - Qt Experts
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to