summaryrefslogtreecommitdiffstats
path: root/modules/raycast/SCsub
Commit message (Collapse)AuthorAgeFilesLines
* SCons: Add unobtrusive type hints in SCons filesThaddeus Crews2024-09-251-0/+1
|
* embree: Update to 4.3.1Jakub Mateusz Marcowski2024-03-271-3/+2
|
* Fix arm64 build when using ClangFilipe Rinaldi2022-12-261-1/+1
| | | | | | | | The commit b5a8055b5c should target GCC builds only as -flax-vector-conversions has different behaviour in Clang and is currently making the build fail. Signed-off-by: Filipe Rinaldi <filipe.rinaldi@gmail.com>
* embree: Fix Linux ARM64 build with `-flax-vector-conversions`Rémi Verschelde2022-12-201-4/+8
| | | | | | | | | | | This is a change done upstream in the `devel3` branch for 3.13.6: https://github.com/embree/embree/commit/82ca6b5ccb7abe0403a658a0e079926478f04cb1 They also seem to define it for macOS, but for us it breaks the build... ¯\_(ツ)_/¯ Also change wrong use of CPPFLAGS (pre-processor) where CXXFLAGS (C++) makes more sense.
* embree: Enable raycast module build for Web and Windows x86_32Rémi Verschelde2022-11-251-2/+5
| | | | | | Embree initially only supported x86_64, then got arm64 support added. Now it seems to be possible to build it with Emscripten (wasm32) and on x86_32 Windows.
* Fix MSVC warnings C4324, C4389, C4456, and C4459Rémi Verschelde2022-09-281-0/+3
| | | | Part of #66537.
* SCons: Cleanup `DEBUG`, `_DEBUG` and `NDEBUG` definesRémi Verschelde2022-09-231-1/+2
| | | | | | | | | | | | | | | | - `_DEBUG` is MSVC specific so it didn't make much sense to define for Android and iOS builds. - iOS was the only platform to define `DEBUG`. We don't use it anywhere outside thirdparty code, which we usually don't intend to debug, so it seems better to be consistent with other platforms. - Consistently define `NDEBUG` to disable assert behavior in both `release` and `release_debug` targets. This used to be set for `release` for all platforms, and `release_debug` for Android and iOS only. - Due to the above, I removed the only use we made of `assert()` in Godot code, which was only implemented for Unix anyway, should have been `DEV_ENABLED`, and is in PoolAllocator which we don't actually use. - The denoise and recast modules keep defining `NDEBUG` even for the `debug` target as we don't want OIDN and Embree asserting all over the place.
* Unify bits, arch, and android_arch into env["arch"]Aaron Franke2022-08-251-2/+2
| | | | | | Fully removes the `bits` option and adapts the code that relied on it. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* Merge pull request #53245 from JFonS/occ_fixes2Rémi Verschelde2021-09-301-0/+14
|\ | | | | Occlusion culling fixes
| * Occlusion culling fixesjfons2021-09-301-0/+14
| | | | | | | | | | | | | | | | Fixes some issues found by UBSAN and other misc things: * Fixed memory leak on exit. * Properly align ray packet buffer to 64 bytes. * Added some compiler flags from Embree's build system. * Fixed ray masks.
* | Force optimized builds for thirdparty Embree filesjfons2021-09-281-0/+1
|/
* Upgrade Embree and enable ray packetsJoan Fons2021-09-131-0/+3
| | | | | | Minor patch upgrade. Enabling ray packets results in faster processing of ray streams (i.e. occlusion culling buffer updates) at the cost of slightly larger binary sizes.
* Upgrade Embree to the latest official release.jfons2021-05-211-12/+6
| | | | | | | | Since Embree v3.13.0 supports AARCH64, switch back to the official repo instead of using Embree-aarch64. `thirdparty/embree/patches/godot-changes.patch` should now contain an accurate diff of the changes done to the library.
* Port changes to the "raycast" module build files from 3.xjfons2021-05-041-76/+93
|
* Implement occlusion cullingjfons2021-04-231-0/+86
Added an occlusion culling system with support for static occluder meshes. It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`. Occluders are defined via the new `Occluder3D` resource and instanced using the new `OccluderInstance3D` node. The occluders can also be automatically baked from a scene using the built-in editor plugin.