BlueCube3310
4aa145624e
LightmapGI: Fix shader data alignment after #89919
2024-08-21 21:37:13 +02:00
Rémi Verschelde
4b8946102b
Merge pull request #91535 from BlueCube3310/betsy-bc6h
...
Add Betsy to speed up BC6 compression
2024-08-21 06:38:03 +02:00
Stuart Carnie
2d0165574d
Add Metal support for macOS (arm64) and iOS
2024-08-20 12:11:06 +02:00
Rémi Verschelde
a700b2a4a2
Merge pull request #95153 from BastiaanOlij/improve_hand_tracking_settings
...
Change hand tracking project settings and finetune `show_when_tracked`
2024-08-20 10:02:01 +02:00
Rémi Verschelde
7999b4bb8a
Merge pull request #94324 from SomeRanDev/shader_hint_enum
...
GDShader: Add `hint_enum` for `uniform int`
2024-08-20 10:01:57 +02:00
Rémi Verschelde
6a9ecdcf0c
Merge pull request #91818 from rburing/fti_multimesh
...
Physics interpolation: `MultiMesh`
2024-08-20 10:01:46 +02:00
Rémi Verschelde
8acd82f70e
Merge pull request #89919 from BlueCube3310/bicubic-lightmap
...
Implement bicubic sampling for lightmaps
2024-08-20 10:01:41 +02:00
Rémi Verschelde
333f0f910f
Merge pull request #86000 from jsjtxietian/add-missing-model_normal_matrix
...
Add `model_normal_matrix` for fragment shader
2024-08-20 10:01:36 +02:00
jsjtxietian
e698351db2
Add model_normal_matrix for fragment shader
2024-08-20 12:39:29 +08:00
Bastiaan Olij
a8c5117777
Change hand tracking project settings and finetune show_when_tracked
2024-08-20 11:12:52 +10:00
Rémi Verschelde
6bf64027b7
Merge pull request #94785 from Chaosus/shader_fix_samplers_order
...
Fix texture samplers to not being last in the property list
2024-08-19 16:05:21 +02:00
Rémi Verschelde
8b39d7f326
Merge pull request #95666 from kleonc/parallax2d_repeat_offsets_relative_to_source
...
Fix `Parallax2D` repeats being not relative to its transform
2024-08-19 14:34:21 +02:00
Rémi Verschelde
10b91ee950
Merge pull request #95705 from zeux/fsr-skin-relax
...
Relax motion vector updates to allow skipped frames for skeletons
2024-08-19 12:09:34 +02:00
Rémi Verschelde
9cc53a134e
Merge pull request #95682 from zeux/fsr2-fix-free
...
Fix double free in FSR2 destructor
2024-08-19 12:09:20 +02:00
Rémi Verschelde
c6400a8fe4
Merge pull request #95662 from clayjohn/GLES3-sky-fog
...
Add fixed fog to the sky in the Compatibility renderer
2024-08-19 12:09:10 +02:00
Rémi Verschelde
f4037d6f6c
Merge pull request #92496 from clayjohn/HDR-2D-sRGB
...
Ensure MovieWriter output is in gamma space when using HDR 2D
2024-08-19 12:08:40 +02:00
Rémi Verschelde
824a97120e
Merge pull request #92213 from clayjohn/ambient-disabled
...
Disable all sources of ambient light when `ambient_light_disabled` render mode is used
2024-08-19 12:08:31 +02:00
kleonc
1bd8372813
Fix Parallax2D repeats being not relative to its transform
2024-08-19 11:43:16 +02:00
BlueCube3310
ef9bb1a207
Implement support for bicubic lightmap filtering
...
Co-authored-by: Calinou <hugo.locurcio@hugo.pro>
2024-08-19 09:52:09 +02:00
Ricardo Buring
1728f80e7c
Fixed Timestep Interpolation: MultiMesh
...
Adds fixed timestep interpolation to multimeshes.
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-08-18 17:14:59 +02:00
BlueCube3310
394ea653aa
Add Betsy to speed up BC6 compression
2024-08-18 11:14:05 +02:00
clayjohn
578049b7b9
Add fixed fog to the sky in the Compatibility renderer
...
And apply luminance multiplier after fog in RD renderer
2024-08-17 23:33:26 -07:00
Arseny Kapoulkine
92f2bc70dd
Relax motion vector updates to allow skipped frames for skeletons
...
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.
2024-08-17 11:10:41 -07:00
Arseny Kapoulkine
0024cface5
Fix double free in FSR2 destructor
...
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.
2024-08-16 22:44:57 -07:00
Rémi Verschelde
5b6d9a7dd8
Merge pull request #95659 from clayjohn/RD-sky-affect
...
Ensure `fog_sky_affect` is used even when using a background color
2024-08-16 23:49:58 +02:00
Rémi Verschelde
2af825c0aa
Merge pull request #95640 from kevinkuo52/debug-overdraw-call-count
...
Fix draw call count and object count for OverDraw display mode on Forward+
2024-08-16 23:45:49 +02:00
Rémi Verschelde
dbf4be308c
Merge pull request #93583 from smix8/obstacle_monitor
...
Add navigation obstacles to performance monitor stats
2024-08-16 23:45:10 +02:00
clayjohn
37be585fdf
Ensure fog_sky_affect is used even when using a background color
2024-08-16 14:11:08 -07:00
kevinkuo52
3388a4a360
pass in render_info to _fill_instance_data for alpha to fix overdraw call count
2024-08-16 08:59:36 -07:00
Rémi Verschelde
664ff6f7c4
Merge pull request #95547 from Chaosus/shader_fix_for_middle_expression
...
Fix middle expression of `for` loop to accept not only operators
2024-08-16 14:36:10 +02:00
Rémi Verschelde
0f9925c0f9
Merge pull request #95542 from KoBeWi/go_bind_yourself
...
Remove empty `bind_methods()`
2024-08-16 14:35:51 +02:00
Rémi Verschelde
851d0a764d
Merge pull request #95536 from jsjtxietian/rename-alpha-scissor
...
Fix undefined `alpha_scissor` in standard shader
2024-08-16 14:35:38 +02:00
Rémi Verschelde
9c77f57a1d
Merge pull request #95350 from Chaosus/shader_fix_for_loop_comma_crash
...
Fix shader crash when the comma used in `for` loop as a trailing
2024-08-16 14:33:42 +02:00
Rémi Verschelde
aed6c351c6
Merge pull request #95301 from bruvzg/rtl_sel_fixes
...
Fix `TextServer::shaped_text_*_character_pos` for the first character of wrapped string. Allow starting/ending RTL selection before line start.
2024-08-16 14:33:26 +02:00
Rémi Verschelde
f2fb3353cb
Merge pull request #95197 from yahkr/95128-audio-fix
...
Fix AudioStreamPlayer `get_playback_position()` for web build
2024-08-16 14:33:05 +02:00
Rémi Verschelde
7865266f24
Merge pull request #94609 from bruvzg/pixel_font_detect
...
[Font Import] Detect pixel fonts and disable subpixel positioning.
2024-08-16 14:32:14 +02:00
Rémi Verschelde
d1706b0200
Merge pull request #95450 from clayjohn/RD-local-device
...
Fail when submit or sync called on main rendering device
2024-08-16 10:36:09 +02:00
Rémi Verschelde
afbcd0810f
Merge pull request #95438 from clayjohn/SSR-roughness-fix
...
Use transformed roughness instead of raw roughness to calculate roughness fade in SSR
2024-08-16 10:36:03 +02:00
Rémi Verschelde
94e9b2e2af
Merge pull request #95379 from SlashScreen/fix_dir_light_layers
...
Consider visual layers for DirectionalLight
2024-08-16 10:35:44 +02:00
Rémi Verschelde
b1c624beb5
Merge pull request #95270 from Lssikkes/ls-multimesh-reset-only
...
Fix for multimesh motion vector corruption
2024-08-16 10:35:26 +02:00
Rémi Verschelde
5098ac587e
Merge pull request #94896 from jsjtxietian/carry-subgroup
...
Fix uniform subgroup in shader will carry out to next group
2024-08-16 10:35:00 +02:00
Rémi Verschelde
46c6865979
Merge pull request #92391 from rburing/fti_3d
...
Physics interpolation (3D)
2024-08-16 10:33:37 +02:00
Chaosus
3272f00525
Fix middle expression of for
loop to accept not only operators
2024-08-15 10:29:19 +03:00
kobewi
065dd099dd
Remove empty bind_methods()
2024-08-15 08:24:32 +02:00
jsjtxietian
970a237c20
Fix undefined alpha_scissor
in standard shader
2024-08-15 11:44:11 +08:00
Slashscreen
4457b11ff0
Apply patch for considering visual layers for DirectionalLight
...
Co-authored-by: majikayogames <152851004+majikayogames@users.noreply.github.com>
2024-08-13 08:45:38 -07:00
clayjohn
b0e33aa00f
Fail when submit or sync called on main rendering device
...
Fail if submit or sync called multiple times in a row
2024-08-12 15:50:01 -07:00
clayjohn
b99d0d778a
Use transformed roughness instead of raw roughness to calculate roughness fade in SSR
2024-08-12 12:04:16 -07:00
Chaosus
d74749fd60
Fix shader crash when the comma used in for
loop as a trailing
2024-08-10 11:23:11 +03:00
bruvzg
932acce8f2
Fix TextServer::shaped_text_*_character_pos
for the first character of wrapped string. Allow starting/ending RTL selection before line start.
2024-08-09 00:03:00 +03:00