Skip to content

Conversation

@OmniBlade
Copy link
Collaborator

Replaces NvDXTLib with crunch to allow open source DXT texture compression.
Builds the editor as a "Public" build. This disables a bunch of VSS code that doesn't work outside of the original development environment.

@OmniBlade OmniBlade requested a review from rm5248 September 18, 2025 09:41
@OmniBlade OmniBlade force-pushed the refactor/pubed branch 2 times, most recently from 3b055ef to 4e1f14c Compare September 18, 2025 14:04
${crunch_SOURCE_DIR}/crnlib/crn_texture_file_types.cpp
${crunch_SOURCE_DIR}/crnlib/crn_threaded_resampler.cpp
${crunch_SOURCE_DIR}/crnlib/crn_threading_pthreads.cpp
$<$<PLATFORM_ID:Windows>:${crunch_SOURCE_DIR}/crnlib/crn_threading_win32.cpp>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Q: What's required for crunch to build on Linux/macOS?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I based it on BinomialLLC/crunch#46 which I am assuming builds on linux as well as windows? The makefile provided just ommits the win32 specific files.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead of adding a new .cmake file, should we instead add a (custom) vcpkg build script for this project? since we're using vcpkg already(as part of the FFMPEG PR). Mixing both vcpkg and the FetchContent doesn't seem like a great idea.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't that require vcpkg on all platforms then? I'd rather rely on platforms package management systems where possible and give developers the ability to use alternative methods for providing required dependencies rather than making vcpkg a hard requirement. The other option is to vendor it into our source tree.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vcpkg is cross-platform(I've never used it on Linux though), so that shouldn't be an issue. The (potential) problem that I see with using the platform package management is that the platform may not have the correct version of a dependency, so you might need to build dependencies anyway. At least with vcpkg we can also package up prebuilt dependencies so that you don't need to build everything all the time.

From my (somewhat limited) use of vcpkg, it should be optional - unless you explicitly tell cmake to use the packages from vcpkg, it will look on your system.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair point. Could do a find call and fall back to fetching and building if its not found I guess?

Replaces NvDXTLib with crunch to allow open source DXT texture compression.
Builds editor as "Public" build. This disabled a bunch of VSS code that doesn't work outside of the original development environment.
@OmniBlade OmniBlade merged commit a05889d into w3dhub:main Sep 29, 2025
2 checks passed
@OmniBlade OmniBlade deleted the refactor/pubed branch September 29, 2025 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants