summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_scene_cull.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #86138 from EnlightenedOne/masterThaddeus Crews2024-11-041-5/+7
|\ | | | | | | Fix Frustum Sky projection translation logic shearing
| * Fix Frustum Sky projection translation logic, all pipelines, fixes 63863EnlightenedOne2024-11-021-5/+7
| |
* | Merge pull request #85338 from EMBYRDEV/shadow-caster-maskThaddeus Crews2024-10-241-4/+5
|\ \ | | | | | | | | | Add `shadow_caster_mask` to Light3D.
| * | Add `shadow_caster_mask` to Light3D.Hannah Crawford2024-08-121-4/+5
| | |
* | | Fixed light culling mask behavior in Mobile and Compat renderersm-pranav-r2024-10-231-0/+4
| | |
* | | Lightmap Dynamic Bugfixyesfish2024-10-171-0/+3
| |/ |/|
* | Implement asynchronous transfer queues, thread guards on RenderingDevice. ↵Dario2024-10-021-0/+8
| | | | | | | | | | | | | | | | | | | | | | Add ubershaders and rework pipeline caches for Forward+ and Mobile. - Implements asynchronous transfer queues from PR #87590. - Adds ubershaders that can run with specialization constants specified as push constants. - Pipelines with specialization constants can compile in the background. - Added monitoring for pipeline compilations. - Materials and shaders can now be created asynchronously on background threads. - Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
* | Jitter shadow map dithering pattern across frames when TAA is enabledHugo Locurcio2024-09-241-2/+4
| | | | | | | | | | | | | | | | | | | | This improves shadow quality by reducing the visibility of the noisy pattern caused by dithering. This jittering also applies when FSR2 is enabled, as it provides its own form of temporal antialiasing. Co-authored-by: Clay John <claynjohn@gmail.com>
* | Merge pull request #95503 from clayjohn/instance_none_crashRémi Verschelde2024-09-031-0/+2
|\ \ | | | | | | | | | Avoid indexing instances without a base in scene cull phase
| * | Avoid indexing instances without a base in scene cull phaseclayjohn2024-08-131-0/+2
| |/
* | Fixed Timestep Interpolation: MultiMeshRicardo Buring2024-08-181-2/+4
| | | | | | | | | | | | Adds fixed timestep interpolation to multimeshes. Co-authored-by: lawnjelly <lawnjelly@gmail.com>
* | Merge pull request #95379 from SlashScreen/fix_dir_light_layersRémi Verschelde2024-08-161-1/+1
|\ \ | | | | | | | | | Consider visual layers for DirectionalLight
| * | Apply patch for considering visual layers for DirectionalLightSlashscreen2024-08-131-1/+1
| |/ | | | | | | Co-authored-by: majikayogames <152851004+majikayogames@users.noreply.github.com>
* / Fixed Timestep Interpolation (3D)Ricardo Buring2024-07-071-16/+265
|/ | | | | | | Adds 3D fixed timestep interpolation to the rendering server. This does not yet include support for multimeshes or particles. Co-authored-by: lawnjelly <lawnjelly@gmail.com>
* Fix mesh instance not updated when changing blend shape valuesjsjtxietian2024-05-231-0/+2
|
* Merge pull request #90440 from ↵Rémi Verschelde2024-04-101-1/+0
|\ | | | | | | | | | | Calinou/geometryinstance3d-fix-custom-aabb-assignment Fix GeometryInstance3D Custom AABB assignment in the editor not working
| * Fix GeometryInstance3D Custom AABB assignment in the editor not workingHugo Locurcio2024-04-091-1/+0
| | | | | | | | | | | | | | This also fixes error spam when changing Custom AABB on a MeshInstance3D that has no Mesh resource assigned yet (which is allowed in the editor). This avoids pitfalls when assigning a custom AABB in a script when loading meshes at runtime.
* | Merge pull request #89729 from jitspoe/master.shadow_distance_fade_optimizationRémi Verschelde2024-04-101-4/+9
|\ \ | |/ |/| | | Shadow fade for omni lights actually stops the shadow from updating while faded out to improve performance.
| * Shadow fade for omni lights actually stops the shadow from updating while ↵jitspoe2024-03-251-4/+9
| | | | | | | | faded out to improve performance.
* | Merge pull request #89398 from clayjohn/visual-debugger-coverageRémi Verschelde2024-04-041-31/+35
|\ \ | | | | | | | | | Increase coverage of timestamps for visual profiler
| * | Increase coverage of timestamps for visual profilerclayjohn2024-04-031-31/+35
| |/
* / Jitter raster occlusion camera to reduce false positives.lawnjelly2024-04-031-1/+3
|/ | | | Due to the low resolution of the occlusion buffer, small gaps between occluders can be closed and incorrectly occlude instances which should show through the gaps. To ameliorate this problem, this PR jitters the occlusion buffer over time, making it more likely an instance will be seen through a gap. This is used in conjunction with an occlusion timer per instance, to prevent instances flickering on and off rapidly.
* Fix lightmap capture not applied in one octantPer Melin2024-03-081-1/+1
| | | | | | | | | GI from probe captures was not applied to dynamic objects in the (-,-,-) octant of the lightmap. If the object had traveled from a different part of the lightmap, it would simply not update anymore and kept whatever ambient light it had from before. If the object on the other hand came from outside of the lightmap into this octant, it would receive no ambient light at all.
* Fix never ending loop with overlapping probesBastiaan Olij2024-03-051-3/+14
|
* Implement hooks into rendererBastiaan Olij2024-02-181-5/+34
|
* Shadow volume culling and tighter shadow caster cullinglawnjelly2024-01-301-11/+71
| | | | | Existing shadow caster culling takes no account of the camera. This PR adds the highly encapsulated class RenderingLightCuller which can cut down the casters in the shadow volume to only those which can cast shadows on the camera frustum.
* Add DummyShader handling to Dummy RenderingServer to ensure shader ↵clayjohn2024-01-221-1/+1
| | | | parameters are saved in headless export
* Directional 2 Split Shadow Stabilization Fixmrjustaguy2023-10-071-1/+1
|
* Merge pull request #81124 from bitsawer/fix_voxelgi_static_lightsRémi Verschelde2023-10-061-1/+2
|\ | | | | Fix VoxelGI static light pairing
| * Fix VoxelGI static light pairingbitsawer2023-08-291-1/+2
| |
* | [Servers] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicableA Thousand Ships2023-09-251-47/+47
| |
* | Add FidelityFX Super Resolution 2.2 (FSR 2.2.1) support.Dario2023-09-251-20/+29
|/ | | | Introduces support for FSR2 as a new upscaler option available from the project settings. Also introduces an specific render list for surfaces that require motion and the ability to derive motion vectors from depth buffer and camera motion.
* Fix various typos with codespellRémi Verschelde2023-08-071-1/+0
| | | | | | | | | Also includes typo fixes from #79993, #80068, #80276, and #80303. Co-authored-by: betalars <contact@betalars.de> Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com> Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com> Co-authored-by: Raul Santos <raulsntos@gmail.com>
* Fix instance uniform data buffer update delaybitsawer2023-07-181-2/+3
|
* Properly clear material slots on mesh instance when material is freedBastiaan Olij2023-05-221-1/+0
|
* Correctly insert lightmap captures and geometries.dearthdev2023-05-151-2/+2
|
* Fix instance uniforms breaking when setting a new mesh.Johan Aires Rastén2023-03-041-0/+1
| | | | Fixes #58113
* Move some worker_thread_pool.h includes out of header filesmyaaaaaaaaa2023-02-131-0/+1
|
* Implement cull_mask for decals and lights in mobile and compatibility backendsclayjohn2023-02-061-0/+3
|
* Merge pull request #72075 from Maran23/extents-to-sizeRémi Verschelde2023-02-011-4/+4
|\ | | | | | | Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
| * Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and ↵Marius Hanl2023-01-311-4/+4
| | | | | | | | | | | | | | | | | | | | | | GPUParticles*3D - Extents are replaced by Size (Size is Extents * 2) - The UI text displays 'Size' - Snapping is adjusted to work with Size - _set and _get handle extents for compatibility Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
* | Fix SSAO/SSIl being applied to reflection probesBastiaan Olij2023-01-301-3/+5
|/
* Use range iterators in LocalVector loopskobewi2023-01-211-8/+8
|
* Merge pull request #71709 from clayjohn/decals-lights-sortingRémi Verschelde2023-01-201-0/+4
|\ | | | | | | Sort decals and lights based on camera origin
| * Sort decals and lights based on camera originclayjohn2023-01-201-0/+4
| | | | | | | | | | | | Also implement sort_offset for decals Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
* | Add mutex when adding geometry instances to the dirty list in the Forward ↵clayjohn2023-01-201-0/+4
|/ | | | Clustered renderer
* Remove light from dynamic light list when removing scenarioclayjohn2023-01-171-0/+4
|
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
* visual instance layers are regarded during shadow cullingMarkus Grafen2022-12-271-6/+17
| | | | | Partially cherry-picked from 16517ecb. Todos: - setting Camera cull_mask should mark affected shadows dirty somehow
* Merge pull request #70253 from BastiaanOlij/cleanup_sky_renderRémi Verschelde2022-12-231-4/+6
|\ | | | | | | Cleanup and improve sky render