summaryrefslogtreecommitdiff
path: root/servers/rendering/renderer_rd/shaders
AgeCommit message (Collapse)Author
2022-10-26Ensure vulkan subgroups are disabled for MoltenVKGordon MacPherson
We found they don't work on intel macbooks properly at all. Possible future solutions: - update to moltenvk. - update to spirv may resolve it.
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-13Merge pull request #67335 from clayjohn/GLES3-2d-lightsRémi Verschelde
Add 2D lights to OpenGL3 canvas renderer
2022-10-12Add 2D lights to OpenGL3 canvas rendererclayjohn
This is an initial implementation using the same single-pass approach as the RenderingDevice.
2022-10-13Fix volumetric fog not rendering at densities lower than or equal to 0.001Hugo Locurcio
This allows volumetric fog to render with the lowest density that can be specified in the inspector (0.0001).
2022-10-04Fixing artifacts in SSRBastiaan Olij
2022-10-02Update Instance flags in shaders to match instance flags in engineclayjohn
2022-09-30Fix typos with codespellRémi Verschelde
Using codespell 2.3-dev from current git. And fix typo in `methods.py` for `vsproj=yes` option (still won't work though).
2022-09-30Merge pull request #66178 from clayjohn/double-precision-renderingRémi Verschelde
Emulate double precision for regular rendering operation when REAL_T_IS_DOUBLE
2022-09-30Merge pull request #66626 from danboo/fix-typo-run-debug-collisonsRémi Verschelde
Fix typos - "collison" -> "collision"
2022-09-29Fix typo - "collison" -> "collision"danboo
2022-09-28Clean up canvas light shader API.clayjohn
Expose LIGHT_ENERGY and LIGHT_IS_DIRECTIONAL. Add LIGHT_DIRECTION
2022-09-27Merge pull request #66466 from clayjohn/FXAA-fixRémi Verschelde
Take FXAA samples from half-pixel coordinates to improve quality
2022-09-27Merge pull request #66370 from bitbrain/fix-light2d-blend-modesRémi Verschelde
Fix broken 2D light blending, addresses #49922
2022-09-27Merge pull request #66317 from clayjohn/debanding-bugRémi Verschelde
Move deband to end of tonemapping.
2022-09-26Take FXAA samples from half-pixel coordinates to improve qualityclayjohn
2022-09-26Merge pull request #66394 from bitbrain/fix-unshaded-canvas-modulateRémi Verschelde
Fix Unshaded CanvasItem for Vulkan
2022-09-26Make dependencies with shader includes in subfoldersBastiaan Olij
2022-09-25do not apply modulate on canvas when unshaded is setMiguel Gonzalez Sanchez
2022-09-24fix broken 2D light blending, addresses #49922Miguel Gonzalez Sanchez
2022-09-23Move deband to end of tonemapping.clayjohn
This avoids artifacts when using adjustments and color correction
2022-09-20Emulate double precision for regular rendering operation.clayjohn
We calculate the lost precision on the CPU and pass it into the GPU so that it can calculate an error-corrected version of the vertex position
2022-09-15Extract shared scene data into a separate classBastiaan Olij
2022-09-15Merge pull request #65322 from ceLoFaN/fix-dof-artifact-at-high-blurRémi Verschelde
2022-09-14Merge pull request #65418 from JFonS/taa_multimeshClay John
Add motion vectors support for MultiMeshInstance
2022-09-13Move debanding into internal sky shader code so that it is applied after ↵clayjohn
everything else. This ensures that the debanding does not scale with exposure or any other effect.
2022-09-12Merge pull request #65544 from clayjohn/lambert-wrapRémi Verschelde
Apply energy conservation to LAMBERT_WRAP diffuse mode by dividing by PI
2022-09-12Apply energy conservation to LAMBERT_WRAP and TOON diffuse modes by dividing ↵clayjohn
by PI
2022-09-12Add motion vectors support for MultiMeshInstancejfons
Transparently handle changes in multimesh transforms so they get reflected in the motion vectors buffer.
2022-09-09Properly scale SSR reflection based on metallic value for dielectric materialsclayjohn
2022-09-05Fix DoF artifacting at high blur amountsceLoFaN
2022-09-01Merge pull request #60185 from Calinou/environment-fog-and-sky-affectRémi Verschelde
2022-09-01Add Environment properties to control fog rendering on background skyHugo Locurcio
Values lower than 1.0 can be used to make the fog rendering not fully obstruct the sky. This can be desired when using fog as a purely atmospheric effect, without intending to use fog for open world fog fading. When set to 0.0, fog rendering behavior will be similar to Godot 3.x where sky rendering was never affected by fog.
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-31Merge pull request #65130 from BastiaanOlij/fix_mobile_signed_tangentRémi Verschelde
Fix vector type for signed tangent in mobile shader
2022-08-31Fix vector type for signed tangent in mobile shaderBastiaan Olij
2022-08-30Add a per-light volumetric fog energy propertyHugo Locurcio
Per-light energy gives more control to the user on the final result of volumetric fog. Specific lights can be fully excluded from volumetric fog by setting their volumetric fog energy to 0, which improves performance slightly. This can also be used to prevent short-lived dynamic effects from poorly interacting with volumetric fog, as it's updated over several frames by default unless temporal reprojection is disabled. Volumetric fog shadows now obey Light3D's Shadow Opacity property as well. The shadow fog fade property was removed as it had little visible impact on the final scene's rendering.
2022-08-23Add font LCD sub-pixel anti-aliasing support.bruvzg
2022-08-22Merge pull request #60309 from The-O-King/octRémi Verschelde
2022-08-20Add Blendshape SupportOmar El Sheikh
Update the blendshape shader to decode/encode octahedral normals
2022-08-13Octahedral Normal/Tangent CompressionOmar El Sheikh
Implementation of Octahedral normal compression into Godot 4.0
2022-08-12Properly scale depth in bokeh_dof effect so that setting distance to blur ↵clayjohn
effect is accurate again
2022-08-08Merge pull request #62547 from clayjohn/ref_vec_pbrRémi Verschelde
2022-08-07Add a shadow opacity property to Light3DHugo Locurcio
This can be used to make shadows translucent for a specific light. The light distance fade system also uses this to smoothly fade the shadow when the light fade transition distance is greater than 0.
2022-08-03Fade screen-space reflection towards inner marginHugo Locurcio
- Fade reflection towards inner margin and clip it at screen edges instead of external margin. - Round edges of the fade margin if both are being cut off to prevent sharp corners. Co-authored-by: puchik <puchik@users.noreply.github.com>
2022-08-02Merge pull request #63627 from and-rad/vector-field-attractor-fixRémi Verschelde
Fix vector field particle attractor texture sampling
2022-08-02Merge pull request #63589 from RandomShaper/sdfgi_debug_pcRémi Verschelde
Keep SdfgiDebug shader's push constant size <= 128
2022-08-01Merge pull request #63587 from clayjohn/specular-occlusionRémi Verschelde
Treat specular less than 0.02 as occlusion
2022-07-31Treat specular less than 0.02 as occlusionclayjohn
This is a very common hack used in almost all PBR renderers to allow removing specular contribution in dielectric materials