Commit Graph

4630 Commits

Author SHA1 Message Date
Dennis Brakhane 261f90afbc show FMA3 and F16C flags when XMVerifyCPUSupport fails (#1180)
Those are required, but not supported by older processors
that do support AVX. Omitting these flags in the output
can be confusing, since every required feature seems
to be supported.

Closes #1178
2025-07-21 08:43:12 +02:00
Turánszki János 30fd382261 unified stochastic/MSAA/dithered transparency between object, hairparticle and impostors 2025-07-19 10:56:17 +02:00
Dennis Brakhane 9c6dd74a09 update json.hpp to 3.12.0 (#1177)
this gets rid of warnings on clang, all changes are
backwards-compatible.
2025-07-19 09:31:37 +02:00
Turánszki János 6e3c57ff33 added multiple animation import for character and animation tester and Mixamo resetpose fix (#1176) 2025-07-18 08:24:45 +02:00
Dennis Brakhane 1ab37777d3 cmake: symlink Content instead of copying (#1162) 2025-07-18 07:55:44 +02:00
Turánszki János 6b6d8abdfd editor retarget animation: reset pose before retarget to avoid mistake of retargeting while in a different pose 2025-07-17 09:12:26 +02:00
Dennis Brakhane ab79802f30 stb files: update to latest version (#1172)
* stb_image: v2.27 -> v2.30

  2.30  (2024-05-31) avoid erroneous gcc warning
  2.29  (2023-05-xx) optimizations
  2.28  (2023-01-29) many error fixes, security errors, just tons of stuff

* stb_truetype: v1.25 -> v1.26

  1.26 (2021-08-28) fix broken rasterizer
2025-07-17 08:05:57 +02:00
Dennis Brakhane 4acc10d3cc github build: fix ccache not being updated, limit size (#1173)
GitHub has the weird restriction that builders in a branch can only
access their own cache as well as the one from "master". Which means
PRs cannot use each others CCache. Therefore the master build was
also updating the cache.

This also means we'll have to compile clang there as well, just so that
the cache can get updated. As with the PR build, the resulting binaries
aren't packaged.

I've also fixed the name for the windows cache, build-pr was using
ccache-win, but build.yml was using win-ccache

This commit also reduces the maximum size to 500MiB, otherwise
the caches can become too big and get deleted by GitHub before they
can be used (the windows one was over 4GiB, and a new one
was created for every PR, quickly exceeding the 10 GB limit)
2025-07-17 08:05:23 +02:00
Turánszki János 40d399195a ps5 fix 2025-07-16 09:41:04 +02:00
Turánszki János 0529b15e02 shadow border clamp fix 2025-07-16 08:16:42 +02:00
Dennis Brakhane 942df9e399 lua: update to 5.4.8 (#1171) 2025-07-15 08:32:08 +02:00
Dennis Brakhane f59bd4f9a9 github builds: on linux, compile PRs with clang as well (#1170)
PR builds will be compiled with both GCC and Clang to more easily spot
errors.

There is still only one Linux artifact, the GCC one.

build.yml and build-nightly.yml will still only use GCC. The only
changes there are switching to ninja and adjusting the name of
the github cache to be consitent with build-pr.

Also the Windows CCache binary was updated to the latest version
2025-07-14 14:01:27 +02:00
Turánszki János 4ec7c94631 lightmap render memalloc improvement, bistro crashfix 2025-07-14 09:07:20 +02:00
Dennis Brakhane ae83bddd9b clang: remove "unknown warning group" warning (#1169)
clang also defines __GNUC__. Whoops
2025-07-14 08:19:28 +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 6cc524068e prevent clang warning (#1168) 2025-07-13 15:35:40 +02:00
Turánszki János 85b82f51b3 editor: custom theme sorting by name 2025-07-13 07:08:58 +02:00
Dennis Brakhane 6e4ca467bd force enum to uint32_t for all compilers via enum-base (#1166)
Some clang versions seem to use int32 for enums unless
explicitly overridden.

Use `enum : uint32_t` will force the type in a compatible
way, this also allows us to get rid of the dummy FORCE_UINT32 enum
members

This also fixes a bug in minimp4 when compiled with clang.
2025-07-13 06:55:14 +02:00
Turánszki János 7e0d2f807e fix for application exe cutomization on linux (#1164) 2025-07-12 10:00:35 +02:00
Turánszki János 5bbcbf5005 vulkan layout lifetime extender (delayed pipeline hotreload crash fix) 2025-07-12 08:55:05 +02:00
Dennis Brakhane c36f75063a gltf import: check that all required extensions are supported, update tiny_gltf.h to v2.9.6 (#1161)
* gltf import: check that we support all required extensions

* gltf import: update tiny_gltf to v2.9.6
2025-07-12 08:01:26 +02:00
Turánszki János e9f8647f0f re-added custom dxva.h 2025-07-11 20:30:01 +02:00
Dennis Brakhane 5309d10d86 cmake: don't build zstd.c (#1160)
it's built in utility_common.cpp
2025-07-11 20:15:28 +02:00
Dennis Brakhane c497fbd8ce update gitignore (#1159) 2025-07-11 07:45:20 +02:00
Turánszki János 15c22fd666 Wave effect, AMD lightmap fix and other updates (#1156) 2025-07-10 17:40:57 +02:00
Dennis Brakhane 4028d250e7 gltf import: fix light import (#1158)
The importer assumed that each light was only referenced once and in
the order it appears in the KHR_lights_punctual extension.

However, glTF allows a light to be referenced by more than one node,
and in different order. This commit adds support for this.
2025-07-10 17:16:37 +02:00
Turánszki János d0941c07ef path tracing AMD fix 2025-07-10 15:20:54 +02:00
Turánszki János eefd663a64 camera window fix 2025-07-10 14:48:23 +02:00
Dennis Brakhane 6aa7ee4687 gltf import: import metadata (#1157)
Currently, only bool, float, int and string are supported. Any other
type will be imported as a JSON string.

It is assumed that the "extras" field is a JSON object; this
is the recommended practise and also how Blender stores its
custom properties.
2025-07-09 19:25:49 +02:00
Turánszki János 03edd338ad editor: metadata window fix 2025-07-09 08:24:08 +02:00
Dennis Brakhane 573b60418e remove some warnings on Clang (#1154) 2025-07-09 07:44:18 +02:00
Dennis Brakhane 282b81c3d9 replace default reference captures, fix missing calls (#1153)
* forAll -> forEach

* replace default reference captures with more specific ones

* fix missing calls in fixXYZ/forEachSelectedWithRefresh
2025-07-08 17:08:59 +02:00
Turánszki János 38caf1a5f0 improved MSAA instance transparency 2025-07-07 08:31:24 +02:00
Dennis Brakhane 985596c9b3 editor: reduce code duplication for all other components as well (#1151) 2025-07-07 07:36:01 +02:00
Turánszki János 841201499d shadow fix #1150 2025-07-06 07:48:42 +02:00
Dennis Brakhane cc127406aa compress embedded Liberation Sans (#1149)
This saves 200KB in the binary and 600KB in the sources
2025-07-06 07:45:25 +02:00
Turánszki János 16f4b80c57 disabled capsule reflection for planar reflection material 2025-07-05 07:54:32 +02:00
Dennis Brakhane f0bff93c91 editor: reduce code duplication in rigidbody window (#1148) 2025-07-05 07:53:44 +02:00
Turánszki János 6290f37f6d editor vehicle physics suspension sliders fix 2025-07-04 18:53:42 +02:00
Turánszki János 43ca9f7d59 editor: add 4K and 8K shadow map option for light forced resolution 2025-07-03 17:37:39 +02:00
Turánszki János 3fc410b801 removed unused function 2025-07-03 17:36:58 +02:00
Turánszki János 22ac09ec15 updated readme 2025-07-03 17:35:52 +02:00
Turánszki János c4396bf521 gui fix: combobox filter could get stuck in some cases 2025-07-03 11:18:29 +02:00
Dennis Brakhane 2e563e4cb9 cmake: don't compile offlineshadercompiler into library (#1147)
REMOVE_ITEM needs the full path, not just the name
2025-07-02 15:59:22 +02:00
Dennis Brakhane 0ea6a6eef4 zstd: add license text, update to 1.5.7 (#1146) 2025-07-02 13:47:47 +02:00
Dennis Brakhane 67f215e143 cmake: add /bigobj on MSVC
Debug builds fail without it, and maybe Release would in the future,
so just always set it.
2025-07-01 19:30:46 +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 0a7f2eb003 cmake: workaround source dirs containing regex meta characters (#1143) 2025-07-01 14:51:18 +02:00
Turánszki János 1b9ef603a1 path tracing AMD improvement #1142 v0.71.802 2025-07-01 06:44:07 +02:00
Turánszki János 12dd20dee7 character controller: camera smoothing frame rate dependency fix 2025-06-30 07:22:25 +02:00