summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_scene_cull.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * Cleanup and improve sky renderBastiaan Olij2022-12-231-4/+6
| |
* | Added options for sorting transparent objects (port of PR 63040)Bastiaan Olij2022-12-231-0/+15
|/
* Implement CAMERA_VISIBLE_LAYERS as built-in shader variableNumbuhFour2022-12-031-2/+2
|
* Get WebXR fully working in Godot 4!David Snopek2022-12-011-1/+1
|
* Finish implementing Canvas Background modeclayjohn2022-11-171-1/+1
|
* Merge pull request #67112 from Chaosus/fix_boolean_uniform_instancesYuri Rubinsky2022-10-281-2/+32
|\
| * Fix incorrect setup of boolean uniform instancesYuri Rubinsky2022-10-091-2/+32
| |
* | Add `is_finite` method for checking built-in typesHaoyu Qiu2022-10-081-6/+1
|/
* Fix material overlay overriding shadow casting logicclayjohn2022-10-071-1/+1
| | | | | Material overlay should only cast a shadow if it can cast a shadow and the instance can cast a shadow
* Move cluster builder, sdfgi and gi structures to clustered renderer, move ↵Bastiaan Olij2022-10-041-39/+40
| | | | light and probe elements into storage and reorganise our render_scene method.
* Split rendering driver project setting into renderer_name and ↵clayjohn2022-09-191-1/+1
| | | | rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
* Replace AABB has_no_volume with has_volumeAaron Franke2022-09-041-1/+1
| | | | Also replace has_no_surface with has_surface
* Merge pull request #65170 from KoBeWi/your_argument_is_TypedArrayRémi Verschelde2022-09-021-1/+1
|\
| * Change Array arguments to TypedArraykobewi2022-09-011-1/+1
| |
* | Merge pull request #64952 from Chaosus/vs_rename_uniform_to_paramRémi Verschelde2022-09-021-10/+10
|\ \
| * | Rename `uniform` to `parameter` across the engineYuri Rubinsky2022-09-011-10/+10
| |/
* | Extracting render buffers and changing it to a more generic solutionBastiaan Olij2022-09-011-6/+5
| |
* | Implement Physical Light Units as an optional setting.clayjohn2022-08-311-12/+16
|/ | | | | | This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value. In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
* Dummy mesh support was added to the dummy renderer but incomplete. This ↵Bastiaan Olij2022-08-301-0/+32
| | | | completes it
* Rename `str2var` to `str_to_var` and similarMicky2022-08-261-3/+3
| | | | | | | | | | | | | | | | | | Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too. - `var2str` -> `var_to_str` - `str2var` -> `str_to_var` - `bytes2var` -> `bytes_to_var` - `bytes2var_with_objects` -> `bytes_to_var_with_objects` - `var2bytes` -> `var_to_bytes` - `var2bytes_with_objects` -> `var_to_bytes_with_objects` - `linear2db` -> `linear_to_db` - `db2linear` -> `db_to_linear` - `deg2rad` -> `deg_to_rad` - `rad2deg` -> `rad_to_deg` - `dict2inst` -> `dict_to_inst` - `inst2dict` -> `inst_to_dict`
* Fix typo in RendererSceneCulltefusion2022-08-221-1/+1
| | | | Frees skeleton 3d gizmo now correctly
* Rename shader parameter uniform setter/getter methods for consistencyHugo Locurcio2022-08-041-30/+30
| | | | | | `shader_uniform` is now consistenly used across both per-shader and per-instance shader uniform methods. This makes methods easier to find in the class reference when looking for them.
* Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio2022-07-281-5/+5
| | | | | The `global_shader_uniform` name is longer, but it makes it much easier to find the methods when searching in the class reference.
* Change RendererSceneRender::GeometryInstance so more code is shared among ↵Bastiaan Olij2022-07-271-48/+48
| | | | renderers
* Remove ThreadWorkPool, replace by WorkerThreadPoolJuan Linietsky2022-07-251-7/+9
| | | | | The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient. It can also be better debugged.
* Implement Vector4, Vector4i, Projectionreduz2022-07-231-13/+13
| | | | | | | | | | | | | Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
* Fix typo, call mesh_instance_free not mesh_freeBastiaan Olij2022-07-121-1/+1
|
* Merge pull request #62344 from BastiaanOlij/extract_dependenciesRémi Verschelde2022-07-061-12/+12
|\
| * Split dependency logicBastiaan Olij2022-06-281-12/+12
| | | | | | | | | | | | Split FOG Split visibility notifier Final cleanup of storage classes
* | Fix crash in Environment "Canvas" background mode.JFonS2022-06-281-1/+1
|/
* Split GI effects and fix stereoscopic rendering of GI effectsBastiaan Olij2022-06-221-1/+1
|
* Initial TAA implementationjfons2022-06-071-5/+33
| | | | | | Initial TAA support based on the implementation in Spartan Engine. Motion vectors are correctly generated for camera and mesh movement, but there is no support for other things like particles or skeleton deformations.