This adds an option WICKED_EMBED_SHADERS (off by default). When ON,
offlineshadercompiler will be compiled first and run every time
a *.hlsl? file changes, the resulting wiShaderDump.h will be put
in the build directory, and then wiRenderer will be compiled again with
the build directory in the include path; this will cause the
__hasinclude to trigger embedded shaders mode.
A nice side effect is that the hacky solution to handle the __hasinclude
is not needed anymore, all dependencies are now handled correctly.
offlineshadercompiler was also extended with a "quiet" option to
suppress messages during compilation.
Sanitizers added: address, undefined behaviour, thread
also rename WICKED_USE_{IPO,SYMLINKS} to WICKED_ENABLE_{IPO,SYMLINKS}
for consistency with the other options.
Windows only supports symlinking as admin or in developer mode.
This commit adds a cmake flag to use symlinking instead of copying.
When enabled, it will check for support and output a hint to enable
developer mode when it fails.
By default, it is disabled on Windows, and enabled otherwise.
* cmake: work around GCC bug when compiling Jolt
* cmake: add build flags for using AVX2 etc.
On linux, AVX2 was used by default for compiling Jolt,
buy not in other parts, which clang doesn't like
(specifically inlining functions using a disabled instruction set)
So now, we just define some compile time options to enable/disable
AVX2, AVX, AVX512 etc. and make the compiler use the code for
everything, not just Jolt. By default, AVX2 is used.
Furthermore, the CMakeLists files were slightly refactored to be
a bit less messy.
* silence GCC warnings
* fix clang build on window
* disable another gcc warning-turned-error
* spring initialization fix
* size_t initializaed to 0 instead of -1
* remove initialization
---------
Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
Co-authored-by: Turánszki János <turanszkij@gmail.com>
IMGUI leaves the scissor in a random state. This messes up the color normalization in HDR10, where the scissor needs to include the whole viewport. Restore the scissor after IMGUI is done drawing stuff.
Roboto-Medium.ttf expected in current/search directory:
https://github.com/turanszkij/WickedEngine/blob/
0a21fb5c612b161358d94c88edfe083f42006d6b/Samples/Example_ImGui_Docking/
Example_ImGui_Docking.cpp#L171
FONT_ICON_FILE_NAME_MD defined as "MaterialIcons-Regular.ttf" expected in
current/search directory:
https://github.com/turanszkij/WickedEngine/blob/
0a21fb5c612b161358d94c88edfe083f42006d6b/Samples/Example_ImGui_Docking/
Example_ImGui_Docking.cpp#L1605
without these fonts present, debug build of Example_ImGui_Docking fails
asserts:
https://github.com/turanszkij/WickedEngine/blob/
0a21fb5c612b161358d94c88edfe083f42006d6b/Samples/Example_ImGui_Docking/
ImGui/imgui_draw.cpp#L2151