bitsawer
836705d7a9
Reset SDFGI when changing editor scene tabs
2023-08-30 19:50:05 +03:00
Patrick
c98ab5aba3
Add option to use world coordinates in canvas item shader
...
By using the render mode `world_vertex_coords` you can automatically use the vertex coordinates in world space
2023-08-30 15:32:18 +02:00
ChibiDenDen
df25e87842
fix clear color on mobile renderer
2023-08-30 00:57:59 +03:00
bitsawer
5e22ded4c9
Fix VoxelGI static light pairing
2023-08-29 14:58:56 +03:00
Rémi Verschelde
7792f9e6ef
Merge pull request #81081 from RandomShaper/fixup_cluster_special
...
Fixup special case of cluster render
2023-08-29 12:47:07 +02:00
Rémi Verschelde
a6c72f9829
Merge pull request #81074 from DarioSamo/flip-motion-vectors
...
Flip convention of motion vectors.
2023-08-29 12:46:44 +02:00
Rémi Verschelde
9d74c24232
Merge pull request #80723 from DarioSamo/debug-motion-vectors
...
Improve visual feedback when using the motion vectors debug view option
2023-08-29 12:44:45 +02:00
Rémi Verschelde
4b69e8be85
Merge pull request #80688 from DarioSamo/gpu-particles-motion-vectors
...
Add motion vector support for GPU 3D Particles
2023-08-29 12:43:58 +02:00
viksl
00c2fb4a08
Instead of Vector2() start volumetric fog at frustum_near_size to avoid INF and NaN in shaders.
2023-08-28 21:56:23 +02:00
Rémi Verschelde
22b7fcabc6
Merge pull request #80889 from bitsawer/fix_sdfgi_texture_clear
...
Clear SDFGI textures when created
2023-08-28 20:37:34 +02:00
Pedro J. Estébanez
e9b4d25f20
Fixup special case of cluster render
2023-08-28 18:59:07 +02:00
Dario
293302ccd8
Add motion vector support for GPU 3D Particles.
...
Add the capability of resizing the transforms buffer for particles to be double its size and alternate where the current output is written to. Only works for particles that use index as their draw order.
2023-08-28 10:56:02 -03:00
Dario
e7d3a7c2aa
Improve visual feedback when using the motion vectors debug view option.
...
Replaces the current method of showing the raw values of the motion vectors buffer to display a grid of lines instead with a new shader.
2023-08-28 10:14:21 -03:00
Dario
f14c944c21
Flip convention of motion vector to point from current pixel to the previous pixel.
2023-08-28 09:30:20 -03:00
bitsawer
09c887ce82
Clear SDFGI textures when created
2023-08-28 14:13:36 +03:00
Juan Linietsky
407b16ab00
Debug CanvasItem redraw
...
I wanted to add this tool for years and always forget. This command line option:
```
$ godot.exe -e --debug-canvas-item-redraw
```
Allows to see when a canvas item is redrawn. This helps find out if something
in the UI is refreshing in a way it should not. Examples as such:
* Signals causing more of the UI to redraw.
* Container resizing causes more UI elements to redraw.
* Something using a timer is redrawing all time time, which can go unnoticed.
To my surprise, the editor UI is redrawing very efficiently. There is some
weird stuff with the scene tabs, redrawing when the inspector changes but most
things for the most part are fine.
2023-08-28 12:53:56 +02:00
Bastiaan Olij
8449331f13
Fix missing decal mask in mobile renderer
2023-08-23 11:14:10 +10:00
bitsawer
d6f45e4f14
Fix Vulkan crash with many Omni/SpotLights, Decals or ReflectionProbes
2023-08-21 12:46:15 +03:00
Rémi Verschelde
10b1f823bc
Merge pull request #80323 from garychia/canvas_point_size
...
Ensure `POINT_SIZE` takes effect in the canvas item shader
2023-08-21 08:21:14 +02:00
Dario
e2984af013
Add motion vector support for animated surfaces like skeletons or blend shapes.
...
Extends mesh instances that required custom vertex buffers to create two alternating buffers that are written to and binds them to use them as the previous vertex buffer when generating motion vectors.
2023-08-16 11:37:42 -03:00
Rémi Verschelde
9d9043a9c8
Merge pull request #80654 from bitsawer/fix_global_uniform_texture_set
...
Fix global shader uniform texture loading
2023-08-16 09:17:25 +02:00
Rémi Verschelde
623156a05c
Merge pull request #80651 from clayjohn/RD-2D-HDR-MSDF
...
Fallback to linear color texture when using 2D HDR and MSDF font
2023-08-16 09:17:01 +02:00
Rémi Verschelde
04c2bc5a37
Merge pull request #80424 from DarioSamo/rd-buffer-copy-vulkan
...
Add `buffer_copy` method to RenderingDevice
2023-08-16 09:13:06 +02:00
bitsawer
41def3740a
Fix global shader uniform texture loading
2023-08-15 14:18:26 +03:00
clayjohn
40d70bf9b8
Fallback to linear color texture when using 2D HDR and MSDF font
2023-08-15 11:08:29 +02:00
Dario
420f3890b0
Fix incorrect error checking and notifications introduced in PR #80414 .
...
There was an error in the other branch of the refactored function where the size of the array was not properly multiplied by the size of the float to check against the buffer size. This was only an error in the error-checking itself and not the functionality. There was also an error where the proper notification was not emitted whenever the buffer for the multimesh is recreated to invalidate the previous references the renderer might've created to it. This fixes CPU Particles getting corrupted when they're created without emission being enabled.
2023-08-13 09:08:20 -03:00
Dario
0d7deca4e2
Add buffer_copy method to RenderingDevice interface and an implementation for the Vulkan driver.
...
Direct buffer copies are required to perform certain operations more efficiently, as the only current alternative is to download the buffer to the CPU and upload it again. As the first use case, the new function is used when enabling motion vectors on multimeshes.
2023-08-12 09:38:39 -03:00
Bastiaan Olij
715ebcc3f1
Fix tonemapper, incorrect vertex count was specified
2023-08-11 10:07:16 +10:00
Dario
5155870d64
Improve handling of motion vectors for multimesh instances.
...
Fixes #67287 . There was a subtle error where due to how enabling motion vectors for multi-meshes was handled, only the first instance would have a valid transforms buffer and the rest would point to an invalid buffer. This change moves over the responsibility of enabling motion vectors only when changes happen to the individual 3D transforms or the entire buffer itself. It also fixes an unnecessary download of the existing buffer that'd get overwritten by the current cache if it exists. Another fix is handling the case where the buffer was not set, and enabling motion vectors would not cause the buffer to be recreated correctly.
2023-08-09 08:17:07 -03:00
Rémi Verschelde
00de140d46
Merge pull request #80368 from BastiaanOlij/fix_mobile_error_on_scale
...
Fix issue with four subpasses always been requested in mobile renderer
2023-08-08 16:58:47 +02:00
Rémi Verschelde
1163dac9e3
Merge pull request #80215 from clayjohn/HDR-2D
...
Add option to enable HDR rendering in 2D
2023-08-08 16:57:33 +02:00
Johan Aires Rastén
6e1f68109b
Support shader preprocessor concatenation symbol
2023-08-08 10:56:20 +02:00
Rémi Verschelde
8a3a3aaebe
Merge pull request #80356 from darksylinc/voxelgi-dispatch-underflow
...
Fix integer underflow when rounding up in VoxelGI
2023-08-07 14:55:33 +02:00
Rémi Verschelde
ff70ce158c
Merge pull request #80315 from darksylinc/matias-ssil-validation-fix
...
Fix validation error when enabling SSIL alone
2023-08-07 14:55:10 +02:00
Rémi Verschelde
40ca09364d
Merge pull request #80311 from darksylinc/matias-fullscreen-tri
...
Use fullscreen tri instead of quad
2023-08-07 14:54:21 +02:00
Rémi Verschelde
f01290fa91
Merge pull request #80257 from DarioSamo/taa_double_precision_fix
...
Fix motion vectors being corrupted when using `precision=double`
2023-08-07 14:51:35 +02:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
...
Also includes typo fixes from #79993 , #80068 , #80276 , and #80303 .
Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
Bastiaan Olij
414df467cd
Fix issue with four subpasses always been requested in mobile renderer
2023-08-07 20:26:48 +10:00
clayjohn
57eb762bae
Add option to enable HDR rendering in 2D
...
This is needed to allow 2D to fully make use of 3D effects (e.g. glow), and can be used to substantially improve quality of 2D rendering at the cost of performance
Additionally, the 2D rendering pipeline is done in linear space (we skip linear_to_srgb conversion in 3D tonemapping) so the entire Viewport can be kept linear.
This is necessary for proper HDR screen support in the future.
2023-08-07 11:24:03 +02:00
Matias N. Goldberg
e783e32108
Fix integer underflow when rounding up in VoxelGI
...
The code wanted to divide and round up:
- 0 / 64 = 0
- 63 / 64 = 1
- 64 / 64 = 1
- 65 / 64 = 2
However when the dividend was exactly 0 it would underflow and produce
67108864 instead.
This caused TDRs on empty scenes or extremely slow performance
Fix #80286
2023-08-06 23:21:58 -03:00
Chia-Hsiang Cheng
0cf57e1927
Ensure POINT_SIZE takes effect
2023-08-06 16:44:16 +08:00
Matias N. Goldberg
666e91b9ff
Fix validation error when enabling SSIL alone
2023-08-05 20:57:26 -03:00
Matias N. Goldberg
79c9edab3b
Draw sky as a fullscreen triangle
2023-08-05 17:55:43 -03:00
Matias N. Goldberg
6e7d87fb25
Use fullscreen tri instead of quad
2023-08-05 17:09:06 -03:00
Dario
77776f5313
Fix motion vectors being corrupted when using precision=double and resulting in the TAA pass being completely broken.
...
See Issue #69528 . When building with precision=double, the TAA pass would break due to the motion vectors being corrupted. It was apparent the origin of the camera itself was corrupted in the UBO for the previous frame because the camera origin was only being split correctly for the current block but not for the previous block (to effectively support the double precision float on the shader).
2023-08-04 11:42:06 -03:00
Rémi Verschelde
f9f5041675
Merge pull request #80222 from clayjohn/Shader-rid-init
...
Initialize shader placeholders up front
2023-08-03 18:33:59 +02:00
clayjohn
558f4b7559
Initialize shader placeholders up front
...
Then use the placeholder to create the shader instead of swapping RIDs
This fixes a false positive that reported leaked shaders
2023-08-03 16:13:33 +02:00
Rémi Verschelde
858e8748e8
Fix or workaround recent extension API compatibility issues
...
- Add compatibility methods for `RenderingDevice::shader_create_from_bytecode`
and `CodeEdit::get_text_for_symbol_loopup`.
- Silence errors which now have compatibility methods.
- Acknowledge GraphEdit/GraphNode compat breakage, intended and WIP.
2023-08-03 12:07:21 +02:00
Hugo Locurcio
037975f6b6
Remove debugging print from shader cache
2023-08-01 17:55:44 +02:00
Yuri Sizov
cc1ee3e599
Merge pull request #79911 from BastiaanOlij/fix_barrier_breakage
...
Add exceptions for breakage introduced in RD barriers
2023-08-01 17:25:40 +02:00
Yuri Sizov
13307e7efc
Merge pull request #79776 from LRFLEW/mobilefog
...
Mobile: Uncomment code required for fog rendering on clear color
2023-08-01 17:25:29 +02:00
Yuri Sizov
1c40263665
Merge pull request #79606 from clayjohn/ShaderRD-compilation-groups
...
Shader rd compilation groups
2023-08-01 17:25:16 +02:00
Yuri Sizov
8b12849fef
Merge pull request #79876 from LRFLEW/mobalpha
...
Fix transparent viewport backgrounds with custom clear color
2023-07-31 21:01:32 +02:00
Yuri Sizov
79d3468246
Merge pull request #79696 from reduz/call-on-render-thread
...
Add ability to call code on rendering thread
2023-07-31 21:01:21 +02:00
LRFLEW
6effd3cde7
Fix transparent viewport backgrounds with custom clear color
2023-07-30 06:19:47 -05:00
Matias N. Goldberg
472226422e
Fix uninitialized variable ending up sent to Vulkan
...
The first time a shader is compiled Godot performs the following:
```cpp
for (uint32_t i = 0; i < SHADER_STAGE_MAX; i++) {
if
(spirv_data.push_constant_stages_mask.has_flag((ShaderStage)(1 << i))) {
binary_data.push_constant_vk_stages_mask |=
shader_stage_masks[i];
}
}
```
However binary_data.push_constant_vk_stages_mask is never initialized to
0 and thus contains garbage data or'ed with the good data.
This value is used by push constants (and many other things) thus it can
be a big deal.
Fortunately because the relevant flags are always guaranteed to be set
(but not guaranteed to be unset), the damage is restricted to:
1. Performance (unnecessary flushing & over-excessive barriers)
2. Overwriting push descriptors already set (this would be serious,
doesn't seem to be an issue)
3. Driver implementations going crazy when they see bits set they don't
expect (unknown if this is an issue)
This uninitialized value is later saved into the binary cache.
Valgrind is able to detect this bug on the first run, but not on the
subsequent ones because they data comes from a file.
cache_file_version has been bumped to force rebuild of all cached
shaders. Because the ones generated so far are compromised.
2023-07-29 18:28:33 -03:00
Bastiaan Olij
10f796dae3
Add exceptions for breakage introduced in RD barriers and prevent future breakage
2023-07-28 14:21:34 +10:00
Yuri Sizov
1fe49e7271
Merge pull request #79142 from BastiaanOlij/register_render_buffers
...
Expose RenderSceneBuffers(RD) through ClassDB
2023-07-27 15:22:27 +02:00
Bastiaan Olij
4874b96033
Expose RenderingSceneBuffers through ClassDB
2023-07-26 23:48:30 +10:00
Bastiaan Olij
63d6e9c557
Add custom texture create function
2023-07-26 20:46:34 +10:00
Juan Linietsky
c7fb6cea3d
Add ability to call code on rendering thread
...
As more users use compute in Godot 4, the way they do is most likely incompatible when running
on separate threads and will start erroring soon as we improve the thread safety of the render thread.
To properly run code on the render thread, this function was added. Use like this:
```GDScript
func initialize_compute_code():
....
func update_compute_code(custom_data):
...
func _ready():
RenderingServer.call_on_render_thread( initialize_compute_code )
func _process():
RenderingServer.call_on_render_thread( update_compute_code.bind(with_data) )
```
2023-07-26 12:28:00 +02:00
Yuri Sizov
3f2e901633
Merge pull request #79865 from clayjohn/discard-shader
...
Fix use of discard in shaders
2023-07-25 21:26:27 +02:00
Yuri Sizov
08cffc128f
Merge pull request #79812 from ParsleighScumble/parsleigh/init-sky-scene-state
...
Use defaults to initialize sky data in case of no sky
2023-07-25 21:26:23 +02:00
Yuri Sizov
0e9e373b87
Merge pull request #79603 from bitsawer/fix_instance_uniform_update
...
Fix instance uniform data buffer update delay
2023-07-25 21:26:02 +02:00
Clay
7c812cd7e9
Fix use of discard in shaders
...
discard was being included in all shaders set to depth pass opaque, which is the majority of shaders
Instead it should only be used with alpha prepass materials
2023-07-24 23:21:04 +02:00
Parsleigh Scumble
67c13fe4eb
Use defaults to initialize sky data in case of no sky
2023-07-24 10:41:13 -07:00
Yuri Sizov
360633089c
Merge pull request #79590 from 0010200303/master
...
Fix bad LOD selection when Camera in Mesh AABB
2023-07-24 19:32:54 +02:00
Yuri Sizov
372e9abcfc
Merge pull request #79459 from MoltenCoffee/fix-shader-arguments-error
...
Add error for undefined function in shader
2023-07-24 19:32:46 +02:00
LRFLEW
db17415df8
Mobile: Uncomment code required for fog rendering on clear color
2023-07-24 08:46:45 -05:00
Yuri Sizov
1e856b61ae
Merge pull request #79624 from mandryskowski/patch-1
...
Revert the change of the limit for interpolation of F0 for dielectrics and metals for Screen Space Reflections
2023-07-21 17:54:50 +02:00
clayjohn
e970f5249c
Add Shader compile groups to RD Shader system
...
This allows us to specify a subset of variants to compile at load time and conditionally other variants later.
This works seamlessly with shader caching.
Needed to ensure that users only pay the cost for variants they use
2023-07-21 16:42:30 +02:00
Yuri Sizov
dd05012122
Merge pull request #79528 from univeous/video_adapter_fix
...
Fix crash when calling `get_video_adapter_*` in a thread
2023-07-20 16:28:47 +02:00
Jonas Schönbrodt
26c4644b38
Fix bad LOD selection when Camera in Mesh AABB
...
Fixed an issue where a bad LOD would be selected although the Camera being inside the Meshes AABB.
2023-07-19 18:07:37 +02:00
univeous
0a64abe891
Fix crash when calling get_video_adapter_* in a thread
...
co-authored-by: Clay John <claynjohn@gmail.com>
2023-07-19 23:31:27 +09:00
mandryskowski
33e46aac13
Revert the change of the limit for interpolation of R0 with respect to metallic and SSR
...
Commit 2c000cb72f
changed the interpolation limits from (0.04, 1.0) to (0.04, 0.37). This is incorrect, as we want to have an F0 of 0.04 for dielectrics (materials with metalness of 0.0) and an F0 of 1.0 for metals.
The Schlick approximation uses an F0 of 0.04 for all dielectrics and it's good enough.
Having it lower than 1.0 leads to an incorrect application of the Fresnel effect for metals and leads to bugs like #79549
2023-07-18 19:18:19 +02:00
bitsawer
7a9783737a
Fix instance uniform data buffer update delay
2023-07-18 12:19:15 +03:00
MoltenCoffee
16c3f4be2d
Add error for undefined function in shader
2023-07-18 10:01:29 +02:00
Clay John
f880892c3d
Merge pull request #79402 from Haydoggo/repeat-filter-autocomplete
...
Add autocomplete for filter/repeat hints on uniform arrays
2023-07-17 11:32:20 +02:00
Bastiaan Olij
a22f495a3c
Split raster barrier into vertex and fragment barrier
2023-07-15 12:30:32 +10:00
kleonc
b7e5ea8a39
Update Y-sort position of the first item in the sorted subtree
2023-07-14 02:18:05 +02:00
Hayden Leete
fc7063b2e2
Add autocomplete for filter/repeat hints on uniform arrays
2023-07-13 11:27:28 +12:00
Yuri Sizov
0fa808ba5e
Merge pull request #77085 from BastiaanOlij/visualise_direction_shadowmap_frustum
...
Draw frustum splices ontop of direction shadow atlas for debug purposes
2023-07-12 21:02:25 +02:00
Yuri Sizov
bb15241e06
Merge pull request #77740 from ChibiDenDen/simplify_vulkan
...
Replace sampler arrays with constant sampler elements, simplify and reuse code for all shaders
2023-07-12 17:16:12 +02:00
Yuri Sizov
5dff3c4484
Merge pull request #78538 from Sauermann/fix-code-simplifications
...
Remove unnecessary value assignments throughout the codebase
2023-07-12 15:09:26 +02:00
Yuri Sizov
65cc4db0ae
Merge pull request #79100 from KoBeWi/[filter,_filter,_filter,_filter,_filter,_filter]
...
Allow more hint types for uniform arrays
2023-07-12 14:18:34 +02:00
Rémi Verschelde
7030ac555f
Merge pull request #79270 from clayjohn/particle-trails-error
...
Unify error condition for particles trail lifetime
2023-07-10 10:38:34 +02:00
clayjohn
78ecdb17f9
Unify error condition for particles trail lifetime
2023-07-10 10:17:27 +02:00
Rémi Verschelde
46cd84b362
Merge pull request #78839 from lewiji/normal_roughness_mobile_fix
...
Fix invalid shader compilation when using `hint_normal_roughness_texture` in mobile backend
2023-07-08 18:19:49 +02:00
Rémi Verschelde
ea3aaeac05
Merge pull request #78624 from puchik/canvas-background-specular-ghosting
...
Clear specular buffer if sky mode is canvas and screen space effects are used
2023-07-08 18:16:05 +02:00
Rémi Verschelde
b2ada1b690
Merge pull request #78972 from bitsawer/fix_shader_float_precision
...
Fix shader language float literal precision truncation
2023-07-07 08:32:09 +02:00
Rémi Verschelde
25ec523596
Merge pull request #78906 from Chaosus/shader_allow_hex_uint
...
Fix using uint suffix at the hex number declaration in shaders
2023-07-07 08:29:17 +02:00
kobewi
8ae2e6681e
Allow more hint types for uniform arrays
2023-07-06 15:05:26 +02:00
bitsawer
356297f909
Fix shader language float literal precision truncation
2023-07-03 12:48:33 +03:00
Yuri Roubinski
1994c25701
Fix using uint suffix at the hex number declaration in shaders
2023-07-01 14:33:48 +03:00
clayjohn
35ed7c770b
Initialize particles instance buffer in case it is used before being updated
2023-06-29 13:24:40 -07:00
lewiji
2a93681334
Return shader parse error when using 'hint_normal_roughness_texture' and not using the Forward+ backend
2023-06-29 16:18:31 +01:00
K. S. Ernest (iFire) Lee
39dfa8436e
Varying mismatch causing shaders to fail.
2023-06-23 21:36:38 -07:00
Arman Elgudzhyan
af9d1743f3
Clear specular buffer if bg mode is canvas and ss effects are used
...
Explicitly clear the separate specular buffer when the background mode is canvas and screen space effects (and thus a separate specular buffer) are used.
2023-06-23 12:16:52 -07:00
bitsawer
ef00de99b4
Fix error spam when a mesh with bone weights has an invalid skeleton
2023-06-22 15:58:52 +03:00
ChibiDenDen
35715e510f
replace sampler arrays with constant sampler elements
2023-06-22 01:11:57 +03:00
Markus Sauermann
890fdd56df
Code simplifications
...
CPPcheck found most of them.
no need to assign the variable twice:
- AnimationTrackEditTypeAudio
- SSEffects
variable is assigned in all if-else clauses:
- EditorHelp
- AndroidInputHandler
- MenuBar
- ShaderCompiler
same if clause:
- ItemList
clearing an empty bitfield has no effect:
- Viewport
2023-06-21 22:37:26 +02:00
Bastiaan Olij
952b4b3f38
Apply reprojection in multiview for our cluster lookup
2023-06-21 11:17:01 +10:00
Rémi Verschelde
dca1e0bef7
Merge pull request #78436 from BastiaanOlij/fix_stereo_fog
...
Fix volumetric fog in stereo by projection vertex in combined space
2023-06-20 09:21:39 +02:00
Bastiaan Olij
66272ea26e
Fix volumetric fog in stereo by projection vertex in combined space
2023-06-20 14:36:14 +10:00
bitsawer
dab0871d41
Fix invalid RID errors when freeing a mesh with blend shapes
2023-06-19 11:07:15 +03:00
clayjohn
36a005fafc
Add RENDERING_INFO parameters to GL Compatibility renderer
...
This also fixes RENDERING_INFO_TOTAL_PRIMITIVES_IN_FRAME for the RD renderers as it was incorrectly reporting vertex/index count at times
This also adds memory tracking to textures and buffers to catch memory leaks.
This also cleans up some memory leaks that the new system caught.
2023-06-16 09:10:00 +02:00
Rémi Verschelde
16c2fede71
Merge pull request #78200 from prominentdetail/patch-3
...
Properly handle wireframe mode in RendererRD pipeline cache
2023-06-14 09:27:10 +02:00
Rémi Verschelde
e0651ed4b5
Merge pull request #78199 from clayjohn/detect_3d
...
Ensure that "detect 3D" is only called when using 3D shaders
2023-06-14 09:26:47 +02:00
Rémi Verschelde
41776634b6
Merge pull request #78161 from BastiaanOlij/expose_texture_native_handle
...
Expose `RD::texture_get_native_handle`
2023-06-14 09:25:59 +02:00
Alex
f74464b767
Properly handle wireframe mode in RendererRD pipeline cache
...
Makes wireframe get cached properly so that it doesn't keep being recreated.
Fixes #76237 .
2023-06-14 09:14:34 +02:00
Bastiaan Olij
6dd47e232b
Expose RD::texture_native_handle
2023-06-14 09:58:08 +10:00
clayjohn
0b7e2dfdfc
Ensure that "detect 3D" is only called when using 3D shaders
2023-06-13 13:20:11 -07:00
Rémi Verschelde
2d6b880987
i18n: Sync translations with Weblate (now tracking 4.1 strings)
2023-06-12 14:57:08 +02:00
kleonc
bbb2a889d8
Fix Y-sort modulate for top-most Y-sorted CanvasItem
2023-06-12 13:33:26 +02:00
Bastiaan Olij
d9eb9665da
Draw frustum splices ontop of direction shadow atlas for debug purposes
2023-06-11 11:48:11 +10:00
Rémi Verschelde
7c71844999
Merge pull request #77703 from RandomShaper/fix_vol_fog_thingy
...
Fix management of life cycle of vol. fog related uniform sets
2023-06-09 11:05:11 +02:00
Rémi Verschelde
9ce42d176d
Merge pull request #76977 from manueldun/light-shader-builtins
...
Enable the use of all supported builtins on the light shader
2023-06-09 11:04:46 +02:00
Rémi Verschelde
166643df32
Merge pull request #74937 from bitsawer/fix_uniform_storage
...
Fix shader uniform storage conversions and crash
2023-06-09 11:04:16 +02:00
Manuel Dun
e2321c21db
Enable the use of all builtins on the light shader
...
When using the light process in spatial shader,
the built-ins work as spected, now they work in forward+,
mobile and compatibility renderer.
2023-06-08 14:14:14 -04:00
Hugo Locurcio
0f82a0f569
Document the InitialAction enum in RenderingDevice
...
This also improves the documentation for the FinalAction enum,
and fixes an incorrect comment in the RenderingDevice header.
2023-06-08 03:54:38 +02:00
Rémi Verschelde
46c4068821
Merge pull request #77170 from lawnjelly/scu_build_master
...
Add support for single compilation unit builds
2023-06-06 17:58:09 +02:00
lawnjelly
b69c8b4791
Single Compilation Unit build.
...
Adds support for simple SCU build (DEV_ENABLED only).
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-06-06 15:36:51 +01:00
Arman Elgudzhyan
7bcc849143
Use depth pass mode with normals if required even if Environment is null
...
If using normal buffer debugging or if the normal texture was used, we should use PASS_MODE_DEPTH_NORMAL_ROUGHNESS regardless of whether there is a valid Environment or not. Otherwise, shaders reading the normal texture will not work without a valid Environment (and possibly other problems).
2023-06-03 07:56:47 -07:00
Pedro J. Estébanez
f08f67308e
Fix management of life cycle of vol. fog related uniform sets
2023-05-31 19:54:28 +02:00
bitsawer
23c375d6b4
Fix shader uniform storage conversions and crash
2023-05-29 15:17:13 +03:00
bitsawer
67038471ff
Fix shader preprocessor cyclic include handling
2023-05-29 12:05:22 +03:00
Yuri Sizov
f6dcd7f51a
Merge pull request #75181 from dalexeev/fix-light-only-mode
...
Fix "Light Only" mode of `CanvasItemMaterial`
2023-05-27 17:28:29 +02:00
Allen Pestaluky
4e19f34856
Changed Subtract blend mode of Forward+ and Mobile renderers to match behaviour of the Godot 3 and Compatibility renderers
...
The OpenGL implementation has used GL_FUNC_REVERSE_SUBTRACT for a long time, but the new RenderingDevice abstraction used by the Vulkan renderers had been mistakenly set to BLEND_OP_SUBTRACT instead of BLEND_OP_REVERSE_SUBTRACT.
Fixes #77448
2023-05-26 10:50:35 -04:00
Rémi Verschelde
ba557aaf55
Merge pull request #77294 from puchik/lod-resolution-scaling
...
Take 3D resolution scaling into account for mesh LOD
2023-05-24 08:48:38 +02:00
Rémi Verschelde
0821262167
Merge pull request #77079 from kleonc/y_sort_fix_modulation_propagation
...
Fix modulation propagation for Y-sorted CanvasItems
2023-05-24 08:47:50 +02:00
Rémi Verschelde
852740a627
Merge pull request #76053 from MightiestGoat/fix-sky-auto-exposure
...
Fix the grainy sky while using debanding.
2023-05-24 08:46:28 +02:00
Rémi Verschelde
6d88c83611
Merge pull request #71684 from kleonc/draw_polyline_simplify_antialiased
...
`RendererCanvasCull` Simplify drawing antialiased polyline
2023-05-24 08:44:19 +02:00
Rémi Verschelde
d5c1b9f883
Merge pull request #77327 from BastiaanOlij/fix_gi_and_fog_free
...
Conditionally free GI and FOG resources, they may not have been created
2023-05-22 22:37:12 +02:00
Rémi Verschelde
c3c1909429
Merge pull request #77326 from BastiaanOlij/fix_material_dependencies
...
Properly clear material slots on mesh instance when material is freed
2023-05-22 22:36:48 +02:00
Bastiaan Olij
1a128fcccd
Properly clear material slots on mesh instance when material is freed
2023-05-22 23:00:00 +10:00
Rémi Verschelde
1086375785
Merge pull request #77266 from Rindbee/fix-bugs-in-TextureStorage-texture_3d_update
...
Fix calling `TextureStorage::texture_3d_update()` could cause a crash
2023-05-22 13:49:23 +02:00
Rémi Verschelde
05ddc822fb
Merge pull request #77265 from lyuma/aabb_bone_lod_inside
...
Fix calculation of skinned AABB for unused bones.
2023-05-22 13:49:19 +02:00
Bastiaan Olij
57f343ab21
Conditionally free GI and FOG resources, they may not have been created
2023-05-22 12:59:34 +10:00
Rindbee
ebd2b9e299
Fix calling `TextureStorage::texture_3d_update()` could cause a crash
2023-05-22 06:24:13 +08:00
Arman Elgudzhyan
ac4ca89000
Take 3D resolution scaling into account for mesh LOD
2023-05-20 16:40:16 -07:00
Lyuma
791d8001db
Fix AABB for unused bones
...
Fixes bug where bounding box of 1 unit was used in some skinned models and had wrong LODs.
(this could become very large if the mesh is scaled, such as FBX conversions)
Also fixes a mistake in calcualting bone index.
2023-05-19 19:47:52 -07:00
Markus Grafen
8a3e829930
(Re-)Implemented Light3D's property "shadow_reverse_cull_face"
...
The parameter shadow_reverse_cull_face is now passed to the shadow pass so that the mesh back-faces are used for shadow map calculation.
2023-05-19 19:22:10 +02:00
Bastiaan Olij
dae58dd187
Fix a typo in the debug shadow split renderer
2023-05-18 10:36:12 +10:00
Rémi Verschelde
b42cea1373
Merge pull request #77089 from DearthDev/lightmapgi-dynamic-objects
...
LightmapGI dynamic object lighting fix
2023-05-17 11:25:25 +02:00
dearthdev
53903f07dc
Correctly insert lightmap captures and geometries.
2023-05-15 03:05:19 -05:00
Yuri Rubinsky
d7211b371c
Merge pull request #77086 from Chaosus/shaders_fix_render_mode_completion
2023-05-15 10:58:23 +03:00
Rémi Verschelde
9ecb929da6
Merge pull request #76565 from clayjohn/debug-PSSM-splits
...
Re-implement the PSSM_SPLITS debug option
2023-05-15 09:33:01 +02:00
Yuri Rubinsky
719741b0eb
Exclude incorrect completion options for `render_mode` in shaders
2023-05-15 08:21:16 +03:00
kleonc
5d8219b4fd
Fix modulation propagation for Y-sorted CanvasItems
2023-05-15 01:32:41 +02:00
Danil Alexeev
43b0702a02
Fix "Light Only" mode of `CanvasItemMaterial`
2023-05-13 09:06:09 +03:00
Ninni Pipping
71ee65dc57
Enable shadow warnings and fix raised errors
2023-05-11 16:00:59 +02:00
Rémi Verschelde
564d1b34e0
Merge pull request #74711 from BastiaanOlij/add_texture_native_handle
...
Provide access to internal graphics handles for textures
2023-05-09 19:28:26 +02:00
Bastiaan Olij
c328676d96
For GDExternal use, provides access to internal graphics handles for textures
2023-05-09 13:47:22 +10:00
Pedro J. Estébanez
6465432570
Save cluster render shader from being optimized out entirely
2023-05-08 18:39:49 +02:00
Rémi Verschelde
3e6a731904
Merge pull request #76418 from reduz/method-bind-validated-call
...
Add ValidatedCall to MethodBind
2023-05-08 13:52:42 +02:00
Clay John
610877e326
Merge pull request #72288 from MewPurPur/use-string-repeat
...
Use `String.repeat()` to optimize several String methods
2023-05-05 09:56:48 -07:00
Max Hilbrunner
39d85308fd
Merge pull request #76109 from paddy-exe/fix-node-position-view
2023-05-05 14:35:41 +02:00
Max Hilbrunner
d481fca986
Merge pull request #75517 from BastiaanOlij/expose_render_target
2023-05-05 14:28:01 +02:00
Max Hilbrunner
fa451ead91
Merge pull request #74883 from dalexeev/fix-thin-multiline-colors
2023-05-05 14:26:37 +02:00
Johan Aires Rastén
8452e6cdb3
Add SPECULAR_AMOUNT spatial light shader built-in
...
Light3D has a light_specular property which is used to set the
intensity of specular contributed by this light source, but it was
previously only used by the default material light shader, and not
possible to use in a custom light() shader.
2023-05-04 09:15:12 +02:00
Max Hilbrunner
ba32279cd0
Merge pull request #76550 from RandomShaper/vk_gi_take_2
...
Fix voxel GI issues (2)
2023-05-03 20:24:05 +02:00
Patrick
e35bbd76a3
Fix Rotation Issue with NODE_POSITION_VIEW Visual Shader Node
2023-05-03 19:59:43 +02:00
Pedro J. Estébanez
c58e50adcc
Fix additional cases of breakage of rendering effects
2023-05-03 11:57:54 +02:00
clayjohn
fb77021559
Use proper UV in cubemap downsampler raster
...
This removes bias in cubemap downsampling shader that resulted in the bottom of cubemaps being over represented
2023-05-03 01:06:34 -07:00
VolTer
6b84e258d2
Use String.repeat() in more places
2023-05-01 02:27:46 +02:00
Juan Linietsky
1c93606e47
Add ValidatedCall to MethodBind
...
* This should optimize GDScript function calling _enormously_.
* It also should simplify the GDScript VM considerably.
NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
2023-04-30 20:01:26 +02:00
clayjohn
ca23d06a31
Re-implement the PSSM_SPLITS debug option
...
This uses a render_mode instead of shadow_color to avoid adding a cost to the basic shader
2023-04-28 17:53:56 -07:00
Samuele Panzeri
4aaa2e6477
Fix wait for thread not started
2023-04-27 20:28:22 +02:00
Rémi Verschelde
5a1d4bd8ab
Merge pull request #76479 from bitsawer/fix_preprocessor_line_number
...
Fix Shader Preprocessor line numbering when disabled
2023-04-27 08:19:30 +02:00
Pedro J. Estébanez
09aa1bbdb3
Fix unsupported sampler filter used for voxel GI
2023-04-26 20:54:06 +02:00
bitsawer
34896d8e89
Fix Shader Preprocessor line numbering when disabled
2023-04-26 16:48:23 +03:00
Pedro J. Estébanez
2beed0d5dc
Fix breakages of volumetric fog on voxel GI changes
2023-04-26 10:24:03 +02:00
Johan Aires Rastén
14a8124ffe
Add LIGHT_IS_DIRECTIONAL built-in for spatial shaders
2023-04-20 14:33:30 +02:00
clayjohn
ab603e347f
Clamp normal when calculating 2D lighting to avoid artifacts
2023-04-18 17:26:17 -07:00
mightygoat
69f634ac78
Fix the grainy sky while using debanding
2023-04-15 10:43:46 +05:30
Rémi Verschelde
0ec2be1213
Merge pull request #76003 from clayjohn/double-particle-offset
...
Don't store instance transform origin in RD 3D renderer unless requested
2023-04-13 09:56:41 +02:00
Rémi Verschelde
34a842b5d1
Merge pull request #75462 from joao-pedro-braz/use_modelview_for_vertex_transform_when_double_precision_is_enabled
...
Use MODELVIEW_MATRIX when on double precision
2023-04-13 09:53:54 +02:00
Rémi Verschelde
e6e52f9154
Merge pull request #75162 from ecmjohnson/gpuparticles_inf_translate
...
GPUParticles3D: Translate inactive particles to -INF
2023-04-13 09:53:04 +02:00
Erik Johnson
6229c2a1f9
Translate inactive particles to -INF
2023-04-12 19:32:39 -04:00
clayjohn
29edd277e4
Don't store instance transform in RD 3D renderer unless requested
...
Previously, when using doubles builds of the engine, instance transform was stored no matter what which caused world space particles to accumulate the instance transform twice
2023-04-12 14:41:17 -07:00
clayjohn
9be0a73294
Add EXPOSURE built in to spatial shaders
...
This allows users to restore light values to pre-pre-exposure amounts
2023-04-12 10:35:13 -07:00
Rémi Verschelde
5e34a28bd7
Merge pull request #73313 from clayjohn/particles-split
...
Properly calculate lifetime_split for particles
2023-04-12 17:01:17 +02:00
Rémi Verschelde
1b14e1a293
Merge pull request #75908 from Calinou/compute-pipeline-fix-typo
...
Fix `compute_pieline` typo in `RenderingDevice.compute_pipeline_is_valid()`
2023-04-12 09:07:43 +02:00
Yuri Rubinsky
1433c98e9f
Merge pull request #75831 from Chaosus/shader_fix_texture_array_hint_completion
2023-04-12 08:58:59 +03:00
Rémi Verschelde
ef17794d17
Merge pull request #75812 from RandomCatDude/sky-fog-luminance-fix
...
Move sky luminance scaling to before fog is applied
2023-04-11 19:40:36 +02:00
Rémi Verschelde
347a8e20ae
Merge pull request #69324 from RedMser/advanced-settings-errors
...
Make it easier to solve warnings/errors referring to project settings
2023-04-11 19:39:53 +02:00
Hugo Locurcio
8eb0d0e665
Fix `compute_pieline` typo in `RenderingDevice.compute_pipeline_is_valid()`
2023-04-10 22:32:04 +02:00
Yuri Rubinsky
12142f2b50
Fix completion of `source_color` hint for texture arrays in shaders
2023-04-08 20:13:26 +03:00
RandomCatDude
c118314fe8
Apply sky fog after luminance multiplier
2023-04-08 12:52:33 +05:00
Yuri Sizov
cbb2e17369
Merge pull request #75368 from MightiestGoat/fix-limit-interpolation-R0
...
Fix the limit for interpolation of R0 with respect to metallic and the calculation of the cos theata in the Fresnel Shlick term in SSR
2023-04-07 12:40:33 +02:00
Yuri Sizov
08c1b55862
Merge pull request #74891 from jmattspartacus/OccluderPolygon2D_memLeak_53722
...
Fix for OccluderPolygon2D memory leak
2023-04-07 12:37:51 +02:00
mightygoat
2c000cb72f
Fix the limit for interpolation of R0 with respect to metallic and SSR
...
Shlick term
2023-04-06 23:14:47 +05:30
Bastiaan Olij
901cd7e3fe
Fix framebuffers in sky not being created on mobile renderer
2023-04-05 09:43:03 +10:00
Yuri Sizov
9dcfdc2051
Merge pull request #75366 from Chaosus/shader_compiler_fix_operator
...
Fix to some operators in shaders are not compiled properly
2023-04-03 22:32:31 +02:00
Rémi Verschelde
154a29d33a
Merge pull request #74808 from bradc6/feature/AllowCustomOutputShaderGenFilepaths
...
Allow for shaders to be generated outside of the source tree
2023-04-03 16:01:32 +02:00
Bastiaan Olij
ab60d3b65c
Expose viewports render targer RID
2023-03-31 11:34:09 +11:00
João Pedro Braz
63c6f0b93c
Use MODELVIEW_MATRIX for vertex transform when double precision is enabled
...
This commit updates the double precision vertex transform code from
using the MODEL_MATRIX to now use the MODELVIEW_MATRIX instead.
This can be made possible by transforming the MODELVIEW_MATRIX
back into model space (ie, same space as the MODEL_MATRIX) and then using it as if it were the MODEL_MATRIX.
With this in place we now properly handle VERTEX transformations that
a Material Shader might do, such as billboard-ing.
2023-03-29 10:37:30 -03:00
RedMser
ed960453b7
Make solving project setting errors easier
...
Show full project setting path in error messages.
Force filtering for advanced settings if filter is not empty.
2023-03-27 08:10:35 +02:00
Yuri Rubinsky
575e352a61
Fix to some operators in shaders are not compiled properly
2023-03-26 20:50:02 +03:00
Bradley Clemetson
2302c7102f
Allow for external python scripts to call the build python headers via external scripts
...
Change GLES3 to not use a relative path
Make the parameters more explicit and ensure the shaders generated are not using relative paths
2023-03-19 21:18:52 -07:00
Yuri Sizov
ded38c5d75
Merge pull request #73839 from clayjohn/OUTPUT_IS_SRGB
...
Clean up OUTPUT_IS_SRGB redefinitions
2023-03-16 13:03:37 +01:00
James Christie
68149328f1
Set value of line_point_count outside of initialization
2023-03-16 01:20:41 -04:00
Danil Alexeev
ba985ecf3f
Fix `draw_multiline_colors()` for `width < 0`
2023-03-14 09:43:56 +03:00
Rémi Verschelde
0333b4a266
Merge pull request #74708 from BastiaanOlij/fix_rd_texture
...
Merge duplicate rd_texture functions
2023-03-10 22:48:19 +01:00
Rémi Verschelde
0511da260f
Merge pull request #74019 from BastiaanOlij/split_last_effects
...
Move roughness limiter and sort into their own classes
2023-03-10 14:02:14 +01:00
Bastiaan Olij
70dca9ff55
Merge duplicate rd_texture functions
2023-03-10 21:37:01 +11:00
Bastiaan Olij
a8ec72cf94
Move roughness limiter and sort into their own classes
2023-03-09 21:58:55 +11:00
Rémi Verschelde
d150bb84a6
Merge pull request #74566 from clayjohn/GL-canvas-texture
...
Avoid copying CanvasTexture when updating proxy
2023-03-08 08:59:04 +01:00
Rémi Verschelde
23bbf6b37c
Merge pull request #74533 from SlugFiller/fix-clip-no-children
...
Fixes a canvas item set to clip children being drawn as black if no children are visible
2023-03-08 08:57:00 +01:00
Rémi Verschelde
a0ff87f48d
Merge pull request #74416 from SlugFiller/fix-skeleton2d-aabb
...
Fix AABB calculation for meshes using Skeleton2D
2023-03-08 08:56:12 +01:00
Rémi Verschelde
1a5239ff1e
Merge pull request #74349 from JohanAR/fix-instance-uniforms
...
Fix instance uniforms breaking when setting a new mesh.
2023-03-08 08:55:48 +01:00
clayjohn
84482ef90b
Avoid copying CanvasTexture when updating proxy
2023-03-07 12:48:32 -08:00
SlugFiller
f25508befb
Fixes a canvas item set to clip children being drawn as black if no children are visible
2023-03-07 09:53:26 +02:00
SlugFiller
06a1fe0364
Fix AABB calculation for meshes using Skeleton2D
2023-03-05 08:21:08 +02:00
Johan Aires Rastén
26aecbfe57
Fix instance uniforms breaking when setting a new mesh.
...
Fixes #58113
2023-03-04 11:49:18 +01:00
Fabio Iotti
528e0d095e
Error on hint_normal_roughness_texture and hint_depth_texture outside of spatial shader
2023-03-03 21:36:48 +01:00
Rémi Verschelde
61d2c85511
Merge pull request #74269 from clayjohn/RD-more-timestamps
...
Add a few more rendering timestamps
2023-03-03 11:09:27 +01:00
clayjohn
1adc4e5875
Add a few more rendering timestamps
2023-03-02 18:15:21 -08:00
Rémi Verschelde
31eccb5501
Merge pull request #74150 from BastiaanOlij/fix_mobile_msaa_2d
...
Use MSAA 2D texture in multipass tonemapper
2023-03-02 11:42:13 +01:00
Rémi Verschelde
29723da272
Merge pull request #73919 from RandomCatDude/volumefog-spotlight-fix
...
Fix spotlight shadows in volumetric fog
2023-03-02 11:23:24 +01:00
Bastiaan Olij
903aa0e385
Use MSAA 2D texture in multipass tonemapper
2023-03-01 18:59:59 +11:00
Rémi Verschelde
0cd1483132
Merge pull request #73959 from clayjohn/GL-mobile-warnings
...
Add warnings for unsupported features in mobile and gl_compatibility backends
2023-02-26 21:39:06 +01:00
clayjohn
c69b14e96e
Add warnings for unsupported features in mobile and gl_compatibility backends
2023-02-26 12:28:02 -08:00
bitsawer
35c970f4f6
Fix shader preprocessor include resource check
2023-02-26 13:59:29 +02:00
RandomCatDude
59c31004f8
fix spotlight shadows in volumetric fog
2023-02-25 16:28:06 +05:00
Bastiaan Olij
4c2f33cfae
Fixing issues with SSIL artifacts
2023-02-24 16:13:18 +11:00
clayjohn
316cf04059
Clean up OUTPUT_IS_SRGB redefinitions
2023-02-23 12:56:42 -08:00
Bastiaan Olij
467d735eb1
Fix issue with default textures requiring arrays when using multiview
2023-02-22 16:50:58 +11:00
Rémi Verschelde
1fc28fe31f
Merge pull request #73698 from clayjohn/SS-bias
...
Increase SSAO and SSIL bias to account for variance in mipmap generation
2023-02-21 21:16:07 +01:00
Rémi Verschelde
5e57205365
Merge pull request #73478 from NewDefectus/master
...
Use the original canvas to calculate light positioning
2023-02-21 21:14:51 +01:00
clayjohn
db9dfb7233
Increase SSAO and SSIL bias to account for variance in mipmap generation
2023-02-21 10:25:33 -08:00
Alon Ran
2d7db30f0d
Use the original canvas to calculate light positioning
2023-02-21 11:57:16 +02:00
Yuri Rubinsky
94831c7209
Forbid passing multiview sampler to the custom function in shaders
2023-02-21 11:23:17 +03:00
Rémi Verschelde
b2584629c8
Merge pull request #73195 from timothyqiu/weblate-comments
...
Improvements and fixes based on Weblate comments
2023-02-17 09:55:39 +01:00
clayjohn
c9c14410e9
Fix sampling bug when SSAO is using half size
2023-02-16 00:37:12 -08:00
clayjohn
f35ca4a9c7
Properly calculate lifetime_split for particles
2023-02-14 14:37:47 -08:00
Rémi Verschelde
1a206d0e22
Merge pull request #73263 from clayjohn/render_priority
...
Notify mesh surface when render_priority changes
2023-02-14 11:05:28 +01:00
clayjohn
d3b3419aff
Notify mesh surface when render_priority changes
...
This ensures that the mesh properly takes render_priority into account when changed
2023-02-13 18:09:33 -08:00
Rémi Verschelde
0668e0f5a9
Merge pull request #69001 from dzil123/fix_rendering_checks
...
Fix various missing rendering parameter checks
2023-02-13 21:07:05 +01:00
Rémi Verschelde
e78b77481e
Merge pull request #73240 from myaaaaaaaaa/worker-h
...
Move some `worker_thread_pool.h` includes out of header files
2023-02-13 21:05:57 +01:00
myaaaaaaaaa
6f88392d02
Move some worker_thread_pool.h includes out of header files
2023-02-13 14:02:01 -05:00
Rémi Verschelde
3815903119
Merge pull request #72838 from BastiaanOlij/update_screen_space_render_buffers
...
Add render buffer support to screen space effects
2023-02-13 19:15:48 +01:00
Haoyu Qiu
84aee17901
Improvements and fixes based on Weblate comments
...
* Description of `ui_text_submit` action should be "Submit Text" instead of "Text Submitted".
* Spell out "Animation" instead of using "Anim.".
* Treat "Max" as regular word instead of writing "Max.".
* Use generic "Set %s" for action name instead of a dedicated "Set target_position".
* Add translator comment for:
* "Inclusive" and "Self" in the profiler.
* Places where it needs the context about being an editor progress label.
* "Duplicated Animation Name" since it's refering to the new name of a duplicated animation.
* Disambiguation of "View Plane Transform", "Paste Selects" and "Display Normal".
* Fix wrong undo action name for renaming an input action.
* Fix missing end quote in a shader error message.
* In class reference:
* Fix duplicated "if" in the description of `signf()`.
* Fix mismatched example output in `String.operator %()`.
* Fix typo in the description of `Decal.texture_emission`.
* Unify description of `String.match()` and `StringName.match()`.
2023-02-13 15:22:18 +08:00
Rémi Verschelde
bd92f124f7
Merge pull request #73060 from clayjohn/screen_texture-size
...
Avoid inserting screen_texture compatibility code when using textureSize
2023-02-11 14:37:30 +01:00
clayjohn
6c1c71d68b
Avoid inserting screen_texture compatibility code when using textureSize
2023-02-10 13:03:02 -08:00
clayjohn
4317f6236f
Do clear request before reading from render target when using CANVAS_BG
2023-02-10 12:12:34 -08:00
Rémi Verschelde
ed85a2c8ce
Merge pull request #70663 from EpEpDragon/feature_buffer_get_data_size_option
...
Add optional size parameter to the RenderDevice buffer_get_data method.
2023-02-10 18:49:28 +01:00
Bastiaan Olij
694c8ec273
Add render buffer support to screen space effects
2023-02-10 10:27:59 +11:00
Markus Sauermann
d249370cd7
Fix crash in editor when setting `SubViewport.size` to zero
...
`Viewport::_set_size` now verifies, that the minimum size is at least 2x2.
Also fix `RendererViewport::viewport_set_size` fail condition.
2023-02-10 00:25:45 +01:00
Haoyu Qiu
a40ccc2d7e
Improve some editor strings for localization
2023-02-09 19:32:02 +08:00
clayjohn
04a9933f2e
Mark fma function as high end so it isn't used with the gl_compatibility renderer
2023-02-08 12:56:15 -08:00
Markus Sauermann
826e54fa73
Some code simplifications
...
1. `number_width` isn't used later
2. `return_type` is used only once
3. AudioServer::get_singleton()->get_channel_count() always returns a channel_count of 1 or larger
4. negative `aa->backward` conditional
5. `current_canvas` == `find_world_2d()->get_canvas()`
6. identical if `render_shadows`
2023-02-07 14:30:16 +01:00
clayjohn
56450fb179
Implement cull_mask for decals and lights in mobile and compatibility backends
2023-02-06 12:12:47 -08:00
Yuri Sizov
2bd5302704
Merge pull request #72695 from clayjohn/CanvasGroup-shading
...
Avoid shading CanvasGroup nodes twice
2023-02-04 21:38:25 +03:00
clayjohn
dfbf439081
Avoid shading CanvasGroup nodes twice
2023-02-03 15:40:42 -08:00
Ricardo Buring
497f5576c1
Fix MultiMesh visible_instance_count being ignored after the first frame
...
Co-authored-by: Clay John <claynjohn@gmail.com>
2023-02-03 11:40:39 -08:00
Rémi Verschelde
ddca070bea
Merge pull request #72631 from rburing/custom_aabb_update_dependency
...
Notify dependencies when setting custom mesh AABB
2023-02-03 06:24:51 +01:00
Rémi Verschelde
ec3adb93f7
Merge pull request #72589 from BastiaanOlij/add_layer_slice_support
...
Add layer slice support to render device and render buffers
2023-02-03 06:24:43 +01:00
Bastiaan Olij
093289364f
Add layer slice support to render device and render buffers
2023-02-03 09:48:56 +11:00
Ricardo Buring
086b9e0c59
Notify dependencies when setting custom mesh AABB
...
Fixes SoftBody3D culling issues.
2023-02-02 23:31:27 +01:00
Rémi Verschelde
9caf691c89
Merge pull request #72494 from Chaosus/shader_fix_const_init
...
Fix shader failure when using non-const initializer on a constant
2023-02-02 21:05:27 +01:00
Rémi Verschelde
e52213e2fa
More codespell fixes, do more changes from previous ignore list
2023-02-01 12:11:36 +01:00
Yuri Rubinsky
e034d5f764
Fix shader failure when using non-const initializer on a constant
2023-02-01 13:03:11 +03:00
Rémi Verschelde
7990b76ad8
Merge pull request #63829 from clayjohn/VULKAN-disable-multiview
...
Disable multiview shader versions when xr is disabled
2023-02-01 07:58:32 +01:00
Rémi Verschelde
ab4d8df163
Merge pull request #72485 from BastiaanOlij/add_eye_matrix_access
...
Expose EYE_OFFSET to gdshader code
2023-02-01 07:33:18 +01:00
Rémi Verschelde
0ba7e5a40a
Merge pull request #72464 from clayjohn/RD-skeleton-crash
...
Check if Skeleton exists before reading when calculating blend shapes
2023-02-01 07:31:42 +01:00
Rémi Verschelde
3eb1ac9fd2
Merge pull request #72075 from Maran23/extents-to-size
...
Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
2023-02-01 07:30:09 +01:00
Bastiaan Olij
8c77aea9ab
Expose EYE_OFFSET to gdshader code
2023-02-01 12:39:13 +11:00
Marius Hanl
a59819630d
Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
...
- Extents are replaced by Size (Size is Extents * 2)
- The UI text displays 'Size'
- Snapping is adjusted to work with Size
- _set and _get handle extents for compatibility
Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2023-01-31 20:04:11 +01:00
clayjohn
cdc6c00b5f
Check if Skeleton exists before reading when calculating blend shapes
2023-01-31 10:10:31 -08:00
Rémi Verschelde
97de7f39e1
Merge pull request #72404 from clayjohn/RD-sky-crash
...
Fix various crashes relating to low roughness_layers
2023-01-31 10:54:41 +01:00
Rémi Verschelde
c24e0065b2
Merge pull request #72433 from clayjohn/Pointlight2D-crash
...
Avoid crash when CanvasTexture used with light decal atlas
2023-01-31 10:54:02 +01:00
Rémi Verschelde
628967e6ba
Merge pull request #72343 from clayjohn/editor-canvas-bg
...
Remove viewport_set_disable_environment in favor of viewport_set_environment_mode
2023-01-31 10:53:05 +01:00
clayjohn
cfd5fe0f29
Avoid crash when CanvasTexture used with light decal atlas
...
The decal atlas is used for Light2Ds, decals, and Light3Ds
2023-01-30 20:59:53 -08:00
clayjohn
9071809021
Remove viewport_set_disable_environment in favor of viewport_set_environment_mode
...
This allows us to set a default value inherited by child viewports and have child viewports set the value themselves which is needed for disabling the environment in the editor
2023-01-30 12:25:49 -08:00
clayjohn
bc64a734d3
Fix various crashes relating to low roughness_layers
2023-01-30 12:16:33 -08:00
Rémi Verschelde
e9de988020
Merge pull request #72031 from reduz/change-high-quality-texture-import
...
Refactor high quality texture import
2023-01-30 20:41:01 +01:00
Rémi Verschelde
58a0c4c69e
Merge pull request #72393 from clayjohn/GLES3-normal-roughness-error
...
Add a shader error when trying to using hint_normal_roughness_texture in the gl_compatibility renderer
2023-01-30 20:26:50 +01:00
Rémi Verschelde
e86953cb53
Merge pull request #72356 from BastiaanOlij/fix_ssao_ssil_probes
...
Fix SSAO/SSIl being applied to reflection probes
2023-01-30 20:26:43 +01:00
clayjohn
97ed3dcf71
Add a shader error when trying to using hint_normal_roughness_texture in the gl_compatibility renderer
2023-01-30 09:04:34 -08:00
Juan Linietsky
28f51ba547
Refactor high quality texture import
...
* Only two texture import modes for low/high quality now:
* S3TC/BPTC
* ETC2/ASTC
* Makes sense given this is the general preferred and most compatible combination in most platforms.
* Removed lossy_quality from VRAM texture compression options. It was unused everywhere.
* Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA).
* Changed MacOS export settings so required texture formats depend on the architecture selected.
This solves the following problems:
* Makes it simpler to import textures as high quality, without having to worry about the specific format used.
* As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30 15:53:23 +01:00
Bastiaan Olij
43a63db7cf
Fix SSAO/SSIl being applied to reflection probes
2023-01-30 15:20:27 +11:00
Rémi Verschelde
23d087354d
Merge pull request #72214 from clayjohn/Skeleton2D-pivot
...
Automatically transform Skeleton2D calculations so pivots are not needed
2023-01-29 02:23:18 +01:00
clayjohn
eb9c2b878a
Automatically transform Skeleton2D calculations so pivots are not needed
2023-01-27 14:55:22 -08:00
bitsawer
0acaccebaf
Fix several shader preprocessor include issues
2023-01-27 14:37:55 +02:00
Rémi Verschelde
6f7793ce1a
Merge pull request #71581 from clayjohn/dependency-changed
...
Flag dirty dependencies when GeometryInstance dependencies change in renderer
2023-01-26 22:57:32 +01:00
Rémi Verschelde
3cacc83526
Merge pull request #72138 from clayjohn/GL-globals
...
Properly append global uniform buffer name in gl_compatibility shaders
2023-01-26 22:52:42 +01:00
Rémi Verschelde
b2164ee75b
Merge pull request #72109 from Chaosus/shader_derivative
...
Add derivative functions with precision to shaders
2023-01-26 22:51:54 +01:00
clayjohn
eefddb07bc
Properly append global uniform buffer name in gl_compatibility shaders
...
Also error when using instance uniforms
2023-01-26 12:14:45 -08:00
Yuri Rubinsky
8c8c333bf2
Add derivative functions with precision to shaders
2023-01-26 20:53:46 +03:00
bitsawer
6f5598979f
Several shader preprocessor parser fixes and improvements
2023-01-26 14:57:23 +02:00
Rémi Verschelde
bc73e32014
Merge pull request #72068 from clayjohn/RD-sky-texture
...
Validate another case of using DATA_FORMAT_A2B10G10R10_UNORM_PACK32 texture with storage flag
2023-01-26 01:12:12 +01:00
Rémi Verschelde
31496c296a
Merge pull request #72078 from bitsawer/fix_optimize_vertices
...
Fix range loop iteration regressions
2023-01-26 01:11:25 +01:00
Rémi Verschelde
4b0363312e
Merge pull request #71455 from BastiaanOlij/fix_stereo_screen_depth
...
Make screen texture and depth texture work in Multiview
2023-01-26 01:11:02 +01:00
Rémi Verschelde
d5d127309b
Merge pull request #72064 from hcoura/fix-vulkan-mobile-gpu-particles
...
RenderForwardMobile - add dependency tracker info on geometry create
2023-01-26 01:08:58 +01:00
bitsawer
8c25bcdb84
Fix range loop iteration regressions
2023-01-26 00:14:39 +02:00
clayjohn
5f94b378ab
Validate another case of using DATA_FORMAT_A2B10G10R10_UNORM_PACK32 texture with storage flag
2023-01-25 11:31:53 -08:00
Henrique Coura
28d8cad02e
RenderForwardMobile - add dependency tracker info on geometry create
2023-01-25 15:25:49 -03:00
Yuri Rubinsky
a6eb6b6b55
Fix array of token names in the shader parser
2023-01-25 18:18:07 +03:00
Bastiaan Olij
85c478e170
Make screen texture and depth texture work in Multiview
2023-01-25 13:35:01 +11:00
Rémi Verschelde
a6042b649a
Merge pull request #71832 from Geometror/fix-spotlight-artifacts
...
Fix some `SpotLight3D` issues (clustering artifacts, leaking light, AABB)
2023-01-24 09:15:26 +01:00
Hendrik Brucker
4bd01a93dc
Fix some SpotLight3D issues (clustering artifacts, light leak)
2023-01-24 01:08:32 +01:00
Rémi Verschelde
600fcf22ed
Merge pull request #71939 from clayjohn/RD-texture-format
...
Add a few more checks to ensure that unsupported image formats are not used in the mobile renderer
2023-01-23 22:30:19 +01:00
Rémi Verschelde
260daf8a13
Merge pull request #71694 from clayjohn/VoxelGI-reflection
...
Use proper space for forward GI reflections
2023-01-23 22:29:54 +01:00
clayjohn
5931d504c1
Add a few more checks to ensure that unsupported image formats are not used in the mobile renderer
2023-01-23 12:38:09 -08:00
Rémi Verschelde
c309de5399
Merge pull request #71910 from jainl28patel/fix_ReflectionProbe_rendering
...
fix ReflectionProbe rendering extents for (10,10,10)
2023-01-23 20:46:22 +01:00
jainl28patel
2da3acf620
fix ReflectionProbe rendering extents for (10,10,10)
2023-01-24 00:32:24 +05:30
clayjohn
ce8a2c6dbf
Ensure that Particles have fully initialized before doing view axis pass in RD renderers
2023-01-23 09:37:18 -08:00
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell
2023-01-23 11:02:20 +01:00
Rémi Verschelde
d40501faee
Merge pull request #71690 from Calinou/forward-mobile-fix-directionallight3d-shadow-opacity
...
Fix DirectionalLight3D shadow opacity on Forward Mobile rendering backend
2023-01-23 10:24:09 +01:00
Hugo Locurcio
d84c9523f7
Fix DirectionalLight3D shadow opacity on Forward Mobile rendering backend
2023-01-22 22:25:15 +01:00
kobewi
615c517034
Use range iterators in LocalVector loops
2023-01-21 18:44:42 +01:00
Rémi Verschelde
1b948a909f
Merge pull request #71788 from PrecisionRender/fix-filter_linear_mipmap-hint
...
Fix typo in hint when using removed built-in textures
2023-01-21 10:29:18 +01:00
Rémi Verschelde
23d8d44535
Merge pull request #71776 from clayjohn/PointLight2D-indices
...
Stop incrementing light_count once max number of lights are reached in 2D canvas renderer
2023-01-21 10:28:50 +01:00
PrecisionRender
d9698f0e6f
Fix type in hint when using removed built-in textures
2023-01-20 22:06:51 -06:00
clayjohn
d3c3fa32af
Stop incrementing light_count once max number of lights are reached in 2D canvas renderer
2023-01-20 17:04:00 -08:00
Rémi Verschelde
d5838a06fa
Merge pull request #71709 from clayjohn/decals-lights-sorting
...
Sort decals and lights based on camera origin
2023-01-20 23:57:55 +01:00
Rémi Verschelde
de3514b9ab
Merge pull request #71705 from clayjohn/RD-surface-free
...
Add mutex when adding geometry instances to the dirty list in the Forward Clustered renderer
2023-01-20 23:57:26 +01:00
clayjohn
921f99f9e3
Decrement texture_binding count when using screen textures
2023-01-20 12:48:13 -08:00
clayjohn
a804556ab9
Add mutex when adding geometry instances to the dirty list in the Forward Clustered renderer
2023-01-20 10:34:19 -08:00
clayjohn
49bebf2bfb
Sort decals and lights based on camera origin
...
Also implement sort_offset for decals
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-01-20 09:58:17 -08:00
Rémi Verschelde
9fc40123ab
Merge pull request #71679 from kleonc/draw_polyline_line_strip
...
`CanvasItem::draw_polyline` Support thin polylines drawn using line strip
2023-01-20 08:48:56 +01:00
clayjohn
2ccc69cd7d
Use proper space for forward GI reflections
2023-01-19 12:58:59 -08:00
kleonc
728c51e362
CanvasItem::draw_polyline Support thin polylines drawn using line strip
2023-01-19 21:08:25 +01:00
bitsawer
6f57aae0ab
Fix shader preprocessor memory leak
2023-01-19 22:06:59 +02:00
kleonc
f29e39cfd6
RendererCanvasCull Simplify drawing antialiased polyline
2023-01-19 17:08:39 +01:00
clayjohn
faea9f5c10
Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTURE
...
in favour of texture hints
2023-01-18 19:52:47 -08:00
kleonc
43fc483e6c
CanvasItem::draw_arc Clamp angle difference so arc won't overlap itself
2023-01-18 15:16:22 +01:00
clayjohn
b2a31a3bbf
Remove light from dynamic light list when removing scenario
2023-01-17 14:33:15 -08:00
clayjohn
c4a8284dec
Flag dirty dependencies when GeometryInstance dependencies change in renderer
...
Normally dependencies are only set dirty when changed during culling, but that misses changes that happen in the renderer (like a new shader being set in a material)
2023-01-17 12:39:13 -08:00
Rémi Verschelde
9cf0ffe1fa
Merge pull request #71524 from clayjohn/MOBILE-TAA
...
Warn when trying to enable TAA from mobile or gl_compatibility backend
2023-01-17 11:06:46 +01:00
Rémi Verschelde
59dcf64dd6
Merge pull request #71382 from jainl28patel/sprite2d_flip_normal_map
...
fix normal map not flipping in sprite2D
2023-01-17 10:56:44 +01:00
Rémi Verschelde
e1e30f9fc7
Merge pull request #71520 from conradhappeliv/fix-71480
...
Fix GPUParticles2D not recomputing transforms each frame
2023-01-17 10:14:32 +01:00
Conrad H. Appel, IV
ad6dd38795
Fix GPUParticles2D not recomputing transforms each frame
2023-01-16 14:10:58 -08:00
clayjohn
71ed83d301
Warn when trying to enable TAA from mobile or gl_compatibility backend
...
TAA should only be enabled from the forward_plus renderer for now
2023-01-16 13:32:40 -08:00
Rémi Verschelde
0ddd9c3e8f
Merge pull request #71526 from clayjohn/RD-sun-scatter
...
Properly initialize directional_light_count in RD sky shaders
2023-01-16 22:30:54 +01:00
Rémi Verschelde
2156250471
Merge pull request #62236 from MinusKube/master
...
Fix polyline not supporting closed polygons and not having a uniform width
2023-01-16 22:13:07 +01:00
clayjohn
8b3db6e9ce
Properly initialize directional_light_count in RD sky shaders
2023-01-16 13:05:52 -08:00
MinusKube
01af885e69
Fix draw_polyline not supporting closed polygons and not having a uniform offset
2023-01-16 20:27:30 +01:00
Danil Alexeev
a8cbb6245b
Fix scaling issue in `draw_line` and similar methods
2023-01-16 12:49:58 +03:00
Raul Santos
7560340ef6
Rename `center` method to `get_center` in Plane.
2023-01-15 17:18:50 +01:00
Rémi Verschelde
ac104a69b8
Merge pull request #71309 from BastiaanOlij/improve_renderscaling_options
...
Improving communication of scaling settings to renderer implementation
2023-01-14 14:45:02 +01:00
jainl28patel
390f83bf5a
fix normal map not flipping in sprite2D
2023-01-14 11:51:56 +05:30
Rémi Verschelde
a51ca2beaf
Merge pull request #71346 from Chaosus/material_fix_freezing
...
Clear material arrays to prevent freeing of invalid texture RID
2023-01-14 00:44:18 +01:00
clayjohn
ccaebcd5e0
Avoid crashing when custom GLSL shaders are imported when using the gl_compatibility renderer
2023-01-13 12:53:19 -08:00
Yuri Rubinsky
01cddbb12a
Clear material arrays to prevent freeing of invalid texture RID
2023-01-13 23:25:09 +03:00
Bastiaan Olij
478c37deb8
Improving communication of scaling settings to renderer implementation
2023-01-13 12:54:15 +11:00
clayjohn
131036a5ef
Only setup depth framebuffer properties when not rendering ReflectionProbes
2023-01-12 16:19:12 -08:00
Pedro J. Estébanez
d0e37cd04c
Add framework for avoidance of color flash in new windows
2023-01-12 21:42:51 +01:00
Rémi Verschelde
1f171ff18b
Merge pull request #71261 from clayjohn/RD-alpha-aa
...
Take alpha antialising options into account when setting up materials
2023-01-12 08:19:16 +01:00