summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd/environment/gi.cpp
AgeCommit message (Collapse)Author
2023-01-21Use range iterators in LocalVector loopskobewi
2023-01-05One Copyright Update to rule them allRémi Verschelde
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".
2022-12-16Don't attempt to create or use an R8_UINT texture as storage if VRS is not ↵clayjohn
supported
2022-10-18Code simplificationsMarkus Sauermann
1. Viewport::get_visible_rect().position is always zero. So Control::get_window_rect is identical to Control::get_global_rect. Remove Control::get_window_rect since it is not used in the source code. 2. sqrt(a * a) = abs(a) for doubles 3. Simplify affine_inverse combination 4. Simplify calculation in shaders
2022-10-14Make some Image methods statickobewi
2022-10-05Merge pull request #66898 from aaronfranke/proj-mat-columnsRémi Verschelde
Rename Projection `matrix` to `columns`
2022-10-05Adding getters to RenderTarget and implementing override functionality for XRBastiaan Olij
2022-10-04Rename Projection `matrix` to `columns`Aaron Franke
2022-10-04Move cluster builder, sdfgi and gi structures to clustered renderer, move ↵Bastiaan Olij
light and probe elements into storage and reorganise our render_scene method.
2022-09-01Extracting render buffers and changing it to a more generic solutionBastiaan Olij
2022-08-31Implement Physical Light Units as an optional setting.clayjohn
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.
2022-08-26Rename `str2var` to `str_to_var` and similarMicky
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`
2022-08-09Fix resource leaks in VoxelGIBastiaan Olij
2022-08-02Merge pull request #63589 from RandomShaper/sdfgi_debug_pcRémi Verschelde
Keep SdfgiDebug shader's push constant size <= 128
2022-08-01Changed storage structs to privateBastiaan Olij
2022-07-29Keep SdfgiDebug shader's push constant size <= 128Pedro J. Estébanez
2022-07-29Restructure environment in render implementationBastiaan Olij
2022-07-27Change RendererSceneRender::GeometryInstance so more code is shared among ↵Bastiaan Olij
renderers
2022-07-26Move Sky(RD) into environmentBastiaan Olij
Move Fog logic from render scene render to fog
2022-07-23Implement Vector4, Vector4i, Projectionreduz
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.
2022-07-21Fix various typos not caught by codespellluz paz
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
2022-07-18Merge pull request #62834 from RandomShaper/fix_vk_sky_errorRémi Verschelde
Bind correct default resource type in GI
2022-07-18Merge pull request #62848 from RandomShaper/shader_writability_improvementRémi Verschelde
2022-07-18Make SDFGI direct light shader follow the same-writability rulePedro J. Estébanez
2022-07-17Adding Variable Rate Shading support to GodotBastiaan Olij
Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get
2022-07-08Bind correct default resource type in GIPedro J. Estébanez
2022-07-06Merge pull request #62344 from BastiaanOlij/extract_dependenciesRémi Verschelde
2022-07-06Remove unused anisotropy setter/getter methods in VoxelGIHugo Locurcio
These methods weren't exposed to the scripting API. Anisotropy was used in earlier iterations of VoxelGI, but it was removed as it was too expensive.
2022-07-01Remove debugging print following GI reorganizationHugo Locurcio
2022-06-28Split dependency logicBastiaan Olij
Split FOG Split visibility notifier Final cleanup of storage classes
2022-06-22Split GI effects and fix stereoscopic rendering of GI effectsBastiaan Olij