summaryrefslogtreecommitdiff
path: root/modules/raycast
AgeCommit message (Collapse)Author
2021-09-30Merge pull request #53245 from JFonS/occ_fixes2Rémi Verschelde
Occlusion culling fixes
2021-09-30Merge pull request #52544 from JFonS/lod_fixesJuan Linietsky
Auto LOD fixes and improvements
2021-09-30Occlusion culling fixesjfons
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.
2021-09-29Rename RID's `getornull()` to `get_or_null()`Hugo Locurcio
2021-09-28Force optimized builds for thirdparty Embree filesjfons
2021-09-27Auto LOD fixes and improvementsjfons
* Fixed LODs for shadow meshes. * Added a merging step before simplification. This helps with tesselated meshes that were previously left untouched. The angle difference at wich edges ar considered "hard" can be tweaked as an import setting. * LODs will now start with the highest decimation possible and keep doubling (approximately) the number of triangles from there. This makes sure that very low triangle counts are included when possible. * Given more weight to normal preservation. * Modified MeshOptimizer to report distance-based error instead of including attributes in the reported metrics. * Added attribute transference between the original mesh and the various LODs. Right now only normals are taken into account, but it could be expanded to other attributes in the future.
2021-09-20Merge pull request #52545 from JFonS/occ_fixesRémi Verschelde
Occlusion culling fixes
2021-09-13Upgrade Embree and enable ray packetsJoan Fons
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.
2021-09-10Occlusion culling fixesjfons
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-05-21Upgrade Embree to the latest official release.jfons
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.
2021-05-11Add checks for __SSE2__ in the lightmap raycasterJFonS
(cherry picked from commit 20717990fd2a7ad300fd9c6fab0394f25e3b7294)
2021-05-11SCons: Disable embree-based modules on x86 (32-bit)Rémi Verschelde
Fixes #48482. (cherry picked from commit e53422c8f96770c9a9b7497955c84f4b742fdd73)
2021-05-04Port changes to the "raycast" module build files from 3.xjfons
2021-04-28Raycast: Fix use of removed copymem after #48239Rémi Verschelde
2021-04-23Implement occlusion cullingjfons
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.