39 Commits

Author SHA1 Message Date
Rapha 801acd450f Add UTF-8 compile option for MSVC (to prevent compilation breaks depending on the building computer locale) (#1598)
* Add UTF-8 compile option for MSVC (to prevent compilation breaks depending on the building computer locale)

* Add fix to VS Projectst too
2026-04-19 09:34:23 +02:00
Dennis Brakhane 750d68bec2 fix: check for pipeline creation when reloading shaders (#1543)
This is done in the editor, but was omitted in the samples, causing them
to crash.
2026-02-08 21:45:09 +01:00
Turánszki János c8d712513b Mac OS controller support (#1515) 2026-01-25 12:24:08 +01:00
Turánszki János 3899e472b6 Mac OS support (#1346) 2026-01-11 21:53:46 +01:00
Dennis Brakhane be6756ae01 cmake: add option to compile and embed shaders during the build process (#1356)
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.
2025-12-11 07:49:43 +01:00
Turánszki János 507ba798a0 arm64 build support (#1345) 2025-12-04 14:47:12 +01:00
Turánszki János 2f681cb7eb looks like exceptions were not disabled properly, now they are 2025-11-23 16:25:29 +01:00
Turánszki János acf8006e68 compile optimizations (#1301)
- removed exceptions
- removed runtime security checks from release builds
- disabled runtime type information
2025-11-17 08:00:19 +01:00
Dennis Brakhane d7e9cc90cd cmake: add flags to enable sanitizers on linux (#1284)
Sanitizers added: address, undefined behaviour, thread

also rename WICKED_USE_{IPO,SYMLINKS} to WICKED_ENABLE_{IPO,SYMLINKS}
for consistency with the other options.
2025-11-04 17:17:59 +01:00
Turánszki János 0d9be71755 ecs lookup table optimization (#1272) 2025-11-02 10:24:01 +01:00
Turánszki János 68c1616247 imgui example update 2025-09-28 07:11:33 +02:00
Dennis Brakhane 89ad0f1a1a cmake: add support for link time optimization (#1196)
add an option WICKED_USE_IPO that enables IPO/LTO on non-debug builds.

It defaults to ON, unless the compiler doesn't support it.
2025-08-04 08:01:28 +02:00
Dennis Brakhane f428e1a61b cmake: use precompiled headers (#1181) 2025-07-30 14:21:43 +02:00
Turánszki János 7ecd39dd6e Warning fixes and changes for Linux
- Disabled warnings as errors
- Using -Wall for specifying commonly used warnings
- Fixes for many warnings in the engine code
2025-07-29 19:59:53 +02:00
Dennis Brakhane 9440c568d4 cmake: add option to use symlinking instead of copying (#1185)
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.
2025-07-28 11:36:45 +02:00
Dennis Brakhane 80d51ac8a6 cmake: add support for unity builds (#1186) 2025-07-28 09:02:49 +02:00
Turánszki János 566b2490be enabled avx (#1184) 2025-07-24 08:36:31 +02:00
Dennis Brakhane 9efa9ddcfc cmake: add build flags for using AVX2 etc., work around GCC bug (#1167)
* 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>
2025-07-13 16:24:39 +02:00
Dennis Brakhane 854ea1fbd5 cmake: restore Template_Windows/CMakeLists.txt
also, remove reference to nonexistant Template_Windows.rc file.
2025-07-01 19:19:33 +02:00
Dennis Brakhane 92c1932c95 linux template: add missing call to ProcessEvent (#1135) 2025-06-19 02:41:41 +07:00
Turánszki János 030413c9cc Project creator (#1118) 2025-06-07 17:38:36 +02:00
Turánszki János ef16be5f41 removed mostly win32 code clutter 2025-06-03 19:34:47 +02:00
Dennis Brakhane 9c28997b08 remove reference to dxil.dll (#1115) 2025-06-03 06:37:15 +02:00
Anjo2807 2d3ec28b24 fix the linux template mentioning Windows (#1113)
Update ReadMe.txt
2025-06-01 17:06:48 +02:00
Turánszki János 27179a025a DirectXShaderCompiler 2025 May update (#1112) 2025-05-31 09:13:46 +02:00
Turánszki János 9691cdf4e0 restore shader compiler reverted stuff 2025-05-29 09:43:33 +02:00
Dennis Brakhane 2779e1848e Updated DirectXShaderCompiler to 2025 February release, removed dxil.dll 2025-05-27 08:03:41 +02:00
Turánszki János 9a084b582c fix in imgui docking sample 2025-03-30 18:34:00 +02:00
Dennis Brakhane b0390c1f44 require cmake 3.19
We use features that aren't supported before that
2025-03-11 14:20:49 +01:00
Phil Schumann acd31d6dfc cmake: allow static PIC builds with new optional WICKED_PIC_CODE (#1010) 2025-01-11 22:16:41 +01:00
Dennis Brakhane 7f60d7a35b main_sdl2: don't allocate Editor object on stack (#1008)
It became too big for the stack, causing segmentation faults.

Also fix this for the samples and tests.
2025-01-11 09:21:45 +01:00
Jason Andersen 2a4bb4be3c Fix IMGUI Demo with HDR10 (#997)
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.
2024-12-28 18:29:54 +01:00
Turanszki Janos c4fdd60ab0 test script fix 2024-12-19 12:34:30 +01:00
CitroenGames 765fd549d4 fixing template windows cmake (#983)
* Update CMakeLists.txt

* improved build speed for windows
2024-12-08 10:28:07 +01:00
k4ss4n bada687cba copy imgui docking example fonts to build dir (#979)
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
2024-11-12 00:14:15 +01:00
k4ss4n 0a21fb5c61 Update Example_ImGui_Docking.cpp (#978)
Sponza folder has capital S and can't be found on linux if referenced with lower s.
2024-11-10 23:08:39 +01:00
k4ss4n 158ef51b7b reset profiler on test change (#976)
Set wi::profiler::SetEnabled(false) on test change of Samples/Tests build
target so it gets disabled again after enabling it on 65k instance test.
2024-11-05 07:33:14 +01:00
k4ss4n 6e3ed8a8af Update CMakeLists.txt (#975)
corrected minor spelling error

Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
2024-11-02 07:22:28 +01:00
Turánszki János 94a34c51c1 refactored samples (#942) 2024-09-12 08:49:00 +02:00