summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd/environment/gi.h
AgeCommit message (Collapse)Author
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-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-07-31Tweak VoxelGI defaults for better qualityHugo Locurcio
Overall brightness is similar to the previous settings, but lighting now fades off more naturally and reflections feature indirect lighting. Performance is identical. - Enable Use Two Bounces by default. - Decrease Propagation to 0.5 to compensate for the second bounce.
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-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
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-22Merge pull request #62478 from BastiaanOlij/split_effects_20220628Rémi Verschelde
2022-07-19Move screen space effects into a separate classBastiaan Olij
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-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-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