Files
DubbleClick 9e593e83ee remove d3dx dependency, severely improve memory usage if necessary (#19)
* basic tga/hdr image loading

* bgr tga tex

* convert to dds during loading
doesn't work yet, fails to create textures from dds memory

* remove ext member from TextureFileStruct

* do not convert images, leads to weird loading problems...

* use regex matching for tpf loading

* convert non-RGBA images to RGBA

* remove d3dx (mostly)

* fix moving wrong image

* move TextureFunction to module

* move FileLoader to ModfileLoader module

* move TextureClient to module

* spaces

* ifdef debug

* 1.6.0

* compress images to dxt5 (bc3_unorm) to use less memory

* remove unnecessary directxtex source code patch

* don't move unnecessarily

* only compress if mods in filesystem use up more than 400mb

* use std::future to prepare to multithread image loading
fails when using std::launch::async though, maybe something in the directxtex library is not thread safe

* remove d3dx sdk from workflows

* remove extern "C"

* catch exception when saving texture

* make loading async (call CoInitializeEx)

* support DXGI_FORMAT_BC1_UNORM (DXT1) compressed textures without warning

* don't warn for BC2 BC4 or BC5 either

* update README.md
2023-12-04 19:50:56 +01:00

32 lines
1.0 KiB
CMake

include_guard()
include(FetchContent)
FetchContent_Declare(
DirectXTex
GIT_REPOSITORY https://github.com/microsoft/DirectXTex
GIT_TAG oct2023)
FetchContent_GetProperties(directxtex)
if (directxtex_POPULATED)
return()
endif()
FetchContent_Populate(directxtex)
add_library(directxtex)
file(GLOB SOURCES
"${directxtex_SOURCE_DIR}/DDSTextureLoader/DDSTextureLoader9.h"
"${directxtex_SOURCE_DIR}/DDSTextureLoader/DDSTextureLoader9.cpp"
"${directxtex_SOURCE_DIR}/WICTextureLoader/WICTextureLoader9.h"
"${directxtex_SOURCE_DIR}/WICTextureLoader/WICTextureLoader9.cpp"
"${directxtex_SOURCE_DIR}/DirectXTex/*.h"
"${directxtex_SOURCE_DIR}/DirectXTex/*.cpp"
)
list(REMOVE_ITEM SOURCES
"${directxtex_SOURCE_DIR}/DirectXTex/BCDirectCompute.cpp"
)
source_group(TREE ${directxtex_SOURCE_DIR} FILES ${SOURCES})
target_sources(directxtex PRIVATE ${SOURCES})
target_include_directories(directxtex PUBLIC "${directxtex_SOURCE_DIR}")
set_target_properties(directxtex PROPERTIES FOLDER "Dependencies/")