summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd
Commit message (Collapse)AuthorAgeFilesLines
* Fix copyright headers referring to GodotSpartan3222024-10-2778-156/+156
|
* Calculate pixel snap in canvas space instead of world spaceclayjohn2024-10-171-2/+2
| | | | | | This ensures that you are actually snapping to pixels in the viewport and not an arbitrary amount (cherry picked from commit godotengine/godot@e75900e1ad1a2c699829335ad3be27b4e01afec1)
* Rebrand preambles to RedotSpartan3222024-10-1379-0/+158
| | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit e8542b06acca3c1bdeee4b528411771f0819f084) Credits: Co-authored-by: Skogi <skogi.b@gmail.com> Co-authored-by: Spartan322 <Megacake1234@gmail.com> Co-authored-by: swashberry <swashdev@pm.me> Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: radenthefolf <radenthefolf@gmail.com> Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com> Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com> Co-authored-by: decryptedchaos <nixgod@gmail.com> Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com> Co-authored-by: Mister Puma <MisterPuma80@gmail.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: SingleError <isaaconeoneone@gmail.com> Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
* Rebrand Godot 4.3 to RedotTrashguy2024-10-134-6/+6
|
* Sky: No more auto-selecting REALTIME mode if radiance is not 256Alexis Breust2024-09-171-1/+1
| | | | (cherry picked from commit 44e526d3d5390368497b7c9948f6ca3f2daa1a3c)
* Fix shadow mesh recursion.Radiant2024-09-171-0/+1
| | | | (cherry picked from commit 70860aafd8acbb4af34941f1343a7ea5901a6c4e)
* Various fixes for transmittance effectclayjohn2024-09-173-29/+37
| | | | | | | | | | Use correct shadow sampling for omni and spot lights Disable transmittance if shadows are disabled Correct DirectionalLight transmittance bias to match shadow bias (its still pretty sensitive though) (cherry picked from commit d61fae36f3061d156d2da7b3208e982e37c1c6b5)
* Fix SkyRD::Sky::free() freeing materialComycSans2024-09-171-1/+0
| | | | (cherry picked from commit 09e59fbec5d091375117ab8a62ec566d9ba5a1fe)
* Fixes alpha materials being rendered with a reverse cull which is visible in ↵viksl2024-09-171-1/+1
| | | | | | reflections from reflection probes. (cherry picked from commit 929c69bad8e3aa7b91c8d04c4b81f0e91392e67d)
* Use correct lightmap coefficients to ensure that the directional lightmap ↵clayjohn2024-09-172-21/+8
| | | | | | | | mode looks correct Also remove the metallic option from directional lightmap as it is guaranteed to return negative numbers in many cases (cherry picked from commit f4ccba7508fe6fbbbda92df855ad59a63a205b17)
* Fix for multimesh motion vector corruption by resetting motion vector state ↵Sen2024-09-161-3/+7
| | | | | | and filling both halves of buffer (cherry picked from commit 52cd5acdda120776775e73babf3fbb65ef0a5c2e)
* Fix double free in FSR2 destructorArseny Kapoulkine2024-09-161-3/+0
| | | | | | | | | | | | | | | | | | | | Before this change, using FSR2 resulted in the following error when the effect was destroyed: ERROR: Attempted to free invalid ID: 662734928609453 at: _free_internal (servers/rendering/rendering_device.cpp:4957) This happened because ACCUMULATE and ACCUMULATE_SHARPEN passes shared the same shader_version object but had different pipeline IDs. When version_free was called for ACCUMULATE pass, it destroyed pipelines created from that version, including the pipeline for the ACCUMULATE_SHARPEN pass. Using a unique version could work around this problem, but it's easier to rely on version_free destroying the created pipelines through the dependency mechanism. (cherry picked from commit 0024cface56be436f6e5cd12d090333e8a6b3ef0)
* Relax motion vector updates to allow skipped frames for skeletonsArseny Kapoulkine2024-09-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, a skeleton that was not updated every frame would result in a difference of 2+ between last_change and frame index every frame, which would disable the buffer rotation and set motion vectors to zero. This results in significant visual artifacts for FSR2 that are especially prominent on the characters that move together with the view such as the main character in third person mode. This is a significant problem for high refresh rate displays: at 120 Hz, we are effectively guaranteed to skip skeleton updates every other frame with skeleton update happening during physics processing, and the lack of physics interpolation for skeletons. This happens by default in TPS demo when FSR2 is enabled. In other places where motion vectors are disabled, such as multi-mesh and mesh rendering (where previous transform is updated), the logic effectively allows for a single-frame gap in updates, because it compares the frame where the update happened (which is the current frame if updates are consistent) with the current frame, so the latency of 0 means "update just happened", but both multi-mesh and mesh transform updates permit a latency of 1 as well. Here, however, last_change is updated *after* the frame processing has concluded, so a zero-latency update has a distance of 1. Allowing a distance of 2 (latency 1) reduces the severity of the problem and aligns the logic with transform updates. Note that the problem will still happen when refresh rate is noticeably higher than physics rate times 2. For example, it still happens at 240 Hz. However, a longer latency allowance is inconsistent with other transforms and could lead to issues, so ideally long term physical interpolation of skeleton transforms would completely solve this. (cherry picked from commit 92f2bc70dd734e0de3b6c7f18c57680c63715343)
* Add model_normal_matrix for fragment shaderjsjtxietian2024-09-162-0/+14
| | | | (cherry picked from commit e698351db24df691dc5ea88a6b011c24dad77ebd)
* Use transformed roughness instead of raw roughness to calculate roughness ↵clayjohn2024-09-161-1/+1
| | | | | | fade in SSR (cherry picked from commit b99d0d778a0b1b54b0c0d3d6dbd8d74d371ba8f7)
* Fix Parallax2D repeats being not relative to its transformkleonc2024-09-162-18/+17
| | | | (cherry picked from commit 1bd8372813d8a329188c05e8cc8c0c66f60b1735)
* Add fixed fog to the sky in the Compatibility rendererclayjohn2024-09-161-4/+4
| | | | | | And apply luminance multiplier after fog in RD renderer (cherry picked from commit 578049b7b9b9ba5d0ad02f89698a593c368ab7fc)
* Ensure fog_sky_affect is used even when using a background colorclayjohn2024-09-161-2/+2
| | | | (cherry picked from commit 37be585fdf689e7e29376bc6faab3fbed59cfd02)
* pass in render_info to _fill_instance_data for alpha to fix overdraw call countkevinkuo522024-09-161-1/+1
| | | | (cherry picked from commit 3388a4a360030ef1365ba1b28b76e6d3432c5ba5)
* Fix undefined `alpha_scissor` in standard shaderjsjtxietian2024-09-162-2/+2
| | | | (cherry picked from commit 970a237c203cd9a373b1846aa029effd2e4a288d)
* Fix regression around OpenGL swapchain optimisation for OpenXRBastiaan Olij2024-07-291-1/+1
|
* Merge pull request #94629 from RandomShaper/fix_undef_positionRémi Verschelde2024-07-242-2/+2
|\ | | | | | | Fix position from vertex shader partially uninitialized
| * Fix position from vertex shader partially uninitializedPedro J. Estébanez2024-07-232-2/+2
| |
* | Linearize color if HDR 2D is onFeiyue Zhang2024-07-241-4/+9
| |
* | Fix crash when assigning more textures than expected to texture arrayYuri Rubinsky2024-07-221-1/+2
| |
* | Merge pull request #92817 from Alex2782/fix_glsl_Mali-GRémi Verschelde2024-07-222-6/+32
|\ \ | | | | | | | | | Fix glsl shader for Android Mali-GXXx GPUs and Vulkan API 1.3.xxx
| * | Fix glsl shader for Android Mali-GXXx GPUs and Vulkan API 1.3.xxxAlexander Hartmann2024-07-202-6/+32
| | |
* | | SDFGI: fix crash if update_data is nullptrGarteal2024-07-192-0/+8
| |/ |/|
* | Merge pull request #94388 from BastiaanOlij/expose_more_methods_scene_buffers_rdRémi Verschelde2024-07-191-0/+6
|\ \ | | | | | | | | | Expose more state in RenderSceneBuffersRD
| * | Expose more state in RenderSceneBuffersRDBastiaan Olij2024-07-151-0/+6
| | |
* | | Merge pull request #86516 from jsjtxietian/fix-camera-directionRémi Verschelde2024-07-182-2/+2
|\ \ \ | | | | | | | | | | | | Fix incorrect `CAMERA_DIRECTION_WORLD` calculation
| * | | Fix incorrect CAMERA_DIRECTION_WORLD calculationjsjtxietian2023-12-262-2/+2
| | | |
* | | | Merge pull request #94289 from clayjohn/MOBILE-multimesh-spec-constantRémi Verschelde2024-07-173-4/+11
|\ \ \ \ | | | | | | | | | | | | | | | Use a spec constant to control whether the MultiMesh branch is used in the vertex shader.
| * | | | Use a spec constant to control whether the MultiMesh branch is used in the ↵clayjohn2024-07-123-4/+11
| | |/ / | |/| | | | | | | | | | | | | | | | | | vertex shader. This works around a bug on the Quest3 and slightly improves performance on all mobile devices at the cost of increased pipeline count.
* | | | Merge pull request #94184 from mertkasar/ssr-rotation-fixRémi Verschelde2024-07-172-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | Fix SSR orientation issues when using orthogonal camera
| * | | | Fix SSR orientation issues when using orthogonal cameraMert Kasar2024-07-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | - Use negative clip space values to fix reversed rotations in reflections - Use constant -z view vector when raymarching to fix perspective in reflections
* | | | | Merge pull request #94064 from bruvzg/lcd_aa_modulateRémi Verschelde2024-07-171-6/+6
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | Fix LCD font AA modulation in RendererRD.
| * | | | Fix LCD font AA modulation in RendererRD.bruvzg2024-07-081-6/+6
| | | | |
* | | | | Merge pull request #94153 from clayjohn/SSAO-linearizeRémi Verschelde2024-07-111-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Properly linearize depth buffer for SSAO when using orthogonal camera
| * | | | | Properly linearize depth buffer for SSAO when using orthogonal cameraclayjohn2024-07-091-2/+2
| | | | | |
* | | | | | Merge pull request #93960 from BastiaanOlij/fix_mobile_compositorRémi Verschelde2024-07-111-5/+5
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | Pre transparent compositor effects needs to run later
| * | | | | Pre transparent compositor effects needs to run laterBastiaan Olij2024-07-051-5/+5
| | |/ / / | |/| | |
* | | | | Merge pull request #93630 from BastiaanOlij/scene_data_projection_correctionRémi Verschelde2024-07-097-26/+40
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | Make RenderSceneData take projection correction into account
| * | | | Make RenderSceneData take projection correction into accountBastiaan Olij2024-06-277-26/+40
| | | | |
* | | | | Remove warning when project setting requests a larger global shader uniform ↵clayjohn2024-06-281-3/+3
| |/ / / |/| | | | | | | | | | | | | | | | | | | buffer than the hardware supports. Instead provide a better error message when the limit is exceeded and avoid crash with a small limit.
* | | | Merge pull request #93617 from jsjtxietian/protect-enumRémi Verschelde2024-06-261-0/+9
|\ \ \ \ | |/ / / |/| | | | | | | Add safety check when setting several rendering effect quality
| * | | Add safety check when setting several rendering effect qualityjsjtxietian2024-06-261-0/+9
| | | |
* | | | Fix userdata not copied when trails startedueshita2024-06-251-0/+18
|/ / /
* | | Merge pull request #93376 from stuartcarnie/sgc/canvasrd_dead_codeRémi Verschelde2024-06-203-9/+0
|\ \ \ | | | | | | | | | | | | Remove unused flag and code from canvas renderer
| * | | Remove unused flag and codeStuart Carnie2024-06-203-9/+0
| | | | | | | | | | | | | | | | Related #48894