iTitus/dds

DDS Image Reader

★ 2Forks 0JavaGitHub ↗Compare
ddsimageiojavajavafx

README

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.

Currently targeting Java 21+.

Supported formats

  • All UINT/UNORM/SRGB RGB(A) formats
  • Block compressed formats
    • BC1/DXT1
    • BC2/DXT2/DXT3
    • BC3/DXT4/DXT5
    • BC7

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)

dds

  • contains the reading logic and api

ddsiio

  • adds dds support to ImageIO automatically
  • this requires the java.desktop module
  • also adds dds support for JavaFX Image automatically, starting with JavaFX 24

ddsfx (deprecated)

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

Contributors

iTitusdependabot[bot]

Issues