Skip to content

iTitus/dds

Repository files navigation

dds / ddsiio / ddsfx

GitHub License Repo Size Maven Central - dds Maven Central - ddsiio Maven Central - ddsfx Gradle Build

Read dds images (DirectDrawSurface), an image format made by Microsoft for DirectX.

Targets:

  • DdsFile (dds module, basic routines to load a dds file into memory)
  • Java BufferedImage (ddsiio module, this is the one you want)
  • JavaFX Image (ddsfx module, obsolete starting with JavaFX 24)

Currently targeting Java 21+ and JavaFX 21+.

dds

  • contains the reading logic and api

ddsiio

  • adds dds support to ImageIO automatically
  • this requires the java.desktop module

ddsfx

Important

This module is no longer required as of JavaFX 24, one can use ddsiio instead! JavaFX will plug into ImageIO and use those providers automatically.

  • adds dds support for JavaFX Image
  • one needs to call io.github.ititus.ddsfx.DdsFx.setup() once to register the format
  • this requires the java.desktop module (via ddsiio) and JavaFX
  • JavaFX needs to be included separately, there is no transitive dependency
  • if you have problems with duplicate JavaFX dependencies see openjfx/javafx-gradle-plugin#65
  • when including this in a modular build you will need to add the following compile and run options:
    • --add-export javafx.graphics/com.sun.javafx.iio=io.github.ititus.ddsfx
    • --add-export javafx.graphics/com.sun.javafx.iio.common=io.github.ititus.ddsfx