summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd/effects_rd.cpp
AgeCommit message (Collapse)Author
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-09-01Extracting render buffers and changing it to a more generic solutionBastiaan Olij
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-21Rename OSX to macOS and iPhoneOS to iOS.bruvzg
2022-07-19Move screen space effects into a separate classBastiaan Olij
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-06-24Moved cube_to_dp and cubemap logic into CopyEffectsBastiaan Olij
2022-06-22Split GI effects and fix stereoscopic rendering of GI effectsBastiaan Olij
2022-06-07Initial TAA implementationjfons
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.
2022-05-11Split out bokeh_dof and copy effectsBastiaan Olij
2022-04-28Splitting tonemapper into its own classBastiaan Olij
2022-03-06Add a UniformSet cachereduz
* Changed syntax usage for RD::Uniform to create faster with a single RID * Converted render pass setup to use this in clustered renderer to test. This is the first step into creating a proper uniform set cache system to simplify large parts of the codebase.
2022-02-28Fix typo in SSR roughness quality enum value namesHugo Locurcio
2022-02-23Implementing OpenXR driverBastiaan Olij
2022-02-21Use properly use non-perceptual roughness when filtering radianceclayjohn
2022-02-16Use prefiltered radianceclayjohn
2022-02-07Merge pull request #57682 from clayjohn/VULKAN-canvas-blurRémi Verschelde
2022-02-05Optimize and fix backbuffer gaussian blurclayjohn
2022-02-05Fix copy paste bug in renderer_rd/effects_rd.cpptheoniko
2022-01-20add support for glow mapsAnsraer
2022-01-12Fix cannot use gaussian blur errorclayjohn
2022-01-04Merge pull request #51206 from clayjohn/Vulkan-ASSGIRémi Verschelde
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-11-23Implemented AMD's FSR as a computer shader for upscaling 3D scenesJe06jm
2021-11-06Added SSIL post processing effectclayjohn
2021-10-31Repaired mistyped of 'threshold' on several files.M. Huri
2021-10-07Merge pull request #51115 from clayjohn/VULKAN-SSAO-radiusRémi Verschelde
Move assignment of SSAO radius push constant
2021-08-26Merge pull request #50883 from BastiaanOlij/mobile_hdrBastiaan Olij
Scale color output in the mobile renderer to provide HDR support
2021-08-23Scale color output in the mobile renderer to provide HDR supportBastiaan Olij
2021-08-21Remove redundant assignments.Anilforextra
Use used_in_transfer instead of used_in_compute twice.
2021-08-19Improvements to SpotLight3D and OmniLight3D's shadowsjfons
OmniLight3D: * Fixed lack of precision in cube map mode by scaling the projection's znear. * Fixed aliasing issues by making the paraboloids use two square regions instead of two half squares. * Fixed shadowmap atlas bleeding by adding padding. * Fixed sihadow blur's inconsistent radius and unclamped sampling. SpotLight3D: * Fixed lack of precision by scaling the projection's znear. * Fixed normal biasing. Both: * Tweaked biasing to make sure it works out of the box in most situations.
2021-08-17Fixes to mobile rendererreduz
* Make sure shaders are named, to aid in debug in case of failure * SceneRenderRD was being wrongly initialized (virtual functions being called when derivative class not initialized). * Fixed some bugs resulting on the above being corrected.
2021-08-16Moved disabling bokeh shader variants to before the version_create callBastiaan Olij
2021-08-15Fix read from screen and depth textureBastiaan Olij
2021-08-13Implemented raster versions of bokeh shaders to replace broken gaussian ↵Bastiaan Olij
implementation
2021-08-06Use subpasses to do 3D rendering and resolve in mobile rendererBastiaan Olij
2021-08-01Porting cubemap compute shaders to raster for the mobile rendererBastiaan Olij
2021-07-31Move assignment of SSAO radius push constantclayjohn
2021-07-26Fixed coding stylevitika9
2021-07-25Use fragment shader instead of compute shader for effects for mobile rendererBastiaan Olij
2021-07-05Fix Subsurface Scatteringreduz
* Works again * Transmittance also works again * Removed the curve patamter, exp() function is good enough.
2021-07-03Fix SSRreduz
* Was broken at some point long time ago, this restores it.
2021-06-26Move render_sky logic from effects into our sky object, and some minor cleanupBastiaan Olij
2021-06-14Merge pull request #49576 from clayjohn/VULKAN-SSAO-uniform-setsRémi Verschelde
Store SSAO uniform sets per viewport
2021-06-14Fixed error spam when XR mode is not enabled and a missed setting renameBastiaan Olij
2021-06-13Store SSAO uniform sets per viewportclayjohn
2021-06-13Add stereoscopic rendering through multiviewBastiaan Olij
2021-06-05Rename GI Classesreduz
* GIProbe is now VoxelGI * BakedLightmap is now LightmapGI As godot adds more ways to provide GI (as an example, SDFGI in 4.0), the different techniques (which have different pros/cons) need to be properly named to avoid confusion.
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.