Commit graph

3010 commits

Author SHA1 Message Date
Yuri Rubinsky
9c5818d212
Merge pull request #59774 from Chaosus/shader_fix 2022-04-01 21:37:44 +03:00
Rémi Verschelde
987c98f529
Merge pull request #59792 from Pineapple/audio-channels-count-change-crash-fix-master 2022-04-01 16:40:10 +02:00
Bartłomiej T. Listwon
30962c6b69 Fix crash in AudioServer when switching audio devices with different audio channels count (connecting PS5 controller, bluetooth 5.1 headphones etc.) 2022-04-01 16:01:22 +02:00
jfons
e69d762dd0 Add color pass flags to Forward Clustered renderer
This commit removes a lot of enum values related to the color render pass in favor of a new flag-bases approach. This means instead of hard-coding all the possible option combinations into enums, we can write our logic by checking a bit-mask.

The changes in rendering_device_vulkan.cpp add support for unused attachments. That means RenderingDeviceVulkan::framebuffer_create() can take null RIDs in the attachments vector, which will result in VK_ATTACHMENT_UNUSED entries in the render pass.

This is used in this same PR to establish fixed locations for the color pass attachments (only color and separate specular so far, but TAA will add motion vectors as well). This way the attachment locations in the shader can stay the same regardless of which attachments are actually used.

Right now all the combinations of flags are generated, but we will need to add a way to limit the amount of combinations in the future.
2022-04-01 12:12:49 +02:00
Yuri Roubinsky
d47035a6fb Fix shader crashing when attempting to access length() at global space 2022-04-01 08:39:29 +03:00
Rémi Verschelde
155a94fabe
Merge pull request #59385 from BastiaanOlij/extract_shader_storage 2022-03-31 19:19:03 +02:00
Rémi Verschelde
a647fb3e62 Fix typos with codespell
Using codespell 2.2-dev from current git.

Fix a couple incorrect uses of gendered pronouns.
2022-03-31 14:07:29 +02:00
Bastiaan Olij
36defd1179 Extract global variable, shader and material storage 2022-03-31 21:49:42 +11:00
Dimitris Nikolaidis
02572884f4 Fix canvas_group not being freed in RendererCanvasCull::free 2022-03-29 15:45:27 +03:00
Yuri Roubinsky
509598e8c0 Remove SHADOW_ATTENUATION spatial light shader built-in 2022-03-29 08:43:31 +03:00
Rémi Verschelde
45ec0e31c3 Remove last editor code dependencies in template build
SConstruct change also makes it possible to outright delete the `editor`
folder in a `tools=no` build, which we use in CI to ensure no invalid
cross-dependencies are added.
2022-03-28 21:13:01 +02:00
Rémi Verschelde
143d13717b
Merge pull request #59553 from reduz/script-extension-support 2022-03-28 13:35:21 +02:00
reduz
360dea5348 Add GDExtension support to Script
* Ability to create script languages from GDExtension
* Some additions to gdnative_extension.h to make this happen
* Moved the GDExtension binder to core

This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x.
Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
2022-03-27 16:13:00 +02:00
Markus Sauermann
0494e024d8 Rename warp mouse functions to warp_mouse 2022-03-27 14:12:01 +02:00
nevarek
cc196393e3 Fix shader undefined variable 2022-03-25 01:40:04 -07:00
lawnjelly
109d08c84a Add protective checks for invalid handle use in BVH
Adds DEV_ASSERTS that will halt at runtime if the BVH is misused with invalid IDs, and adds ERR_FAIL macros to prevent calling with invalid IDs.

Any such misuse is a bug in the physics, but this should flag any errors quickly.
2022-03-23 09:19:26 +00:00
bruvzg
595995a5a7
[macOS] Add missing global menu features. 2022-03-22 12:38:14 +02:00
Bastiaan Olij
0fe06e9467 Extract Decal and Decal atlas from Storage class 2022-03-21 12:22:43 +11:00
Rémi Verschelde
5901d91458
Merge pull request #59345 from BastiaanOlij/call_correct_texture_free
Call the correct texture free method on texture storage cleanup
2022-03-20 12:03:19 +01:00
Rémi Verschelde
b05e56e90d
Merge pull request #59346 from rburing/raycast_from_inside_global
Raycasts hitting from inside: return collision point in global coordinates
2022-03-20 12:03:01 +01:00
Ricardo Buring
3d4be5d4c2 Raycasts hitting from inside: return collision point in global coordinates 2022-03-20 10:31:03 +01:00
Bastiaan Olij
0b5a9e4f6e Call the correct texture free method on texture storage cleanup 2022-03-20 20:10:44 +11:00
nevarek
7543e22358 Add inverse projection matrix to fragment shader globals 2022-03-18 20:44:51 -07:00
Rémi Verschelde
ef24e95f4a
Merge pull request #59268 from Chaosus/shader_renames2
Rename several transform built-ins in shaders
2022-03-18 19:24:38 +01:00
Rémi Verschelde
5c8bd6fd71
Merge pull request #58233 from bruvzg/gde_ts 2022-03-18 14:29:58 +01:00
Yuri Roubinsky
0d9aecd967 Rename several transform built-ins in shaders 2022-03-18 12:10:55 +03:00
Rémi Verschelde
5d23613836
Merge pull request #49738 from Calinou/ssao-gi-default-half-resolution
Compute SSAO at half resolution by default
2022-03-18 07:14:23 +01:00
Rémi Verschelde
756178d342
Merge pull request #59087 from clayjohn/sky-mode
Replace DirectionalLight3D's `use_in_sky_only` with `sky_mode` enum
2022-03-18 00:09:35 +01:00
Rémi Verschelde
9263e4e63b
Merge pull request #58954 from Ansraer/alpha_scissor
[4.0] Fix alpha scissor support
2022-03-17 22:27:43 +01:00
Hugo Locurcio
c45d2c242b Replace DirectionalLight3D's use_in_sky_only with sky_mode enum
3 options are available:

- Light and Sky (default)
- Light Only (new)
- Sky Only (equivalent to `use_in_sky_only = true`)

Co-authored by: clayjohn <claynjohn@gmail.com>
2022-03-17 14:00:02 -07:00
Rémi Verschelde
6228063972
Another -Wsign-compare fix
Fixing CI while afk, fun.
2022-03-17 21:42:35 +01:00
Rémi Verschelde
0e9764607a
Fix -Wsign-compare warning after #58993 2022-03-17 21:22:32 +01:00
Rémi Verschelde
e142c10fc5
Merge pull request #58993 from notSanil/device-limit-exceeded-fix 2022-03-17 19:55:40 +01:00
Ansraer
30a89b3f98 Fix alpha scissor support 2022-03-17 16:17:27 +01:00
Rémi Verschelde
f995f47965
Merge pull request #59062 from BastiaanOlij/storagerd_texture 2022-03-17 10:08:33 +01:00
bruvzg
f19cd44346
Unify TextServer built-in module and GDExtension code. 2022-03-17 08:15:29 +02:00
Rémi Verschelde
c950db6652
Merge pull request #59209 from rburing/fix_pinjoint2d_inertia_tensor
`PinJoint2D`: fix inertia tensor, taking center of mass into account
2022-03-16 23:48:09 +01:00
Ricardo Buring
7ce4a1d9f3 PinJoint2D: fix inertia tensor, taking center of mass into account 2022-03-16 22:57:38 +01:00
bruvzg
6079e14396
Cleanup and fix native struct definitions. 2022-03-16 20:14:15 +02:00
Rémi Verschelde
c9d764e14a
Merge pull request #59140 from reduz/physics-server-extension 2022-03-16 17:11:40 +01:00
notSanil
36fa7059ed Fix device limit exceeding for uniform buffer 2022-03-16 16:52:35 +05:30
Bastiaan Olij
57e5a33623 Split dummy renderer classes into separate files
Split canvas_texture_storage and texture_storage from render_storage class
2022-03-16 17:43:10 +11:00
Rémi Verschelde
cfd21adf64
Merge pull request #49092 from BastiaanOlij/multiview_clustered
Add multiview support to the clustered forward renderer
2022-03-16 00:17:57 +01:00
reduz
8b547331be Create GDExtension clases for PhysicsServer3D
* Allows creating a GDExtension based 3D Physics Server (for Bullet, PhysX, etc. support)
* Some changes on native struct binding for PhysicsServer

This allows a 3D Physics server created entirely from GDExtension. Once it works, the idea is to port the 2D one to it.
2022-03-15 18:39:31 +01:00
Rémi Verschelde
51bbcbdec2
Merge pull request #45263 from KoBeWi/😕 2022-03-15 13:18:27 +01:00
snowapril
b6f72f2b4a Fix D_GGX code which can cause divide-by-zero val
When given roughness is lower than 0.01, d value in original code will
be zero. This can make last return value as NAN because of
divide-by-zero. This is well addressed in issue #56373.

Modified code is referenced on D_GGX function of google/filament
(https://github.com/google/filament/blob/main/shaders/src/brdf.fs#L54-L79)

Signed-off-by: snowapril <sinjihng@gmail.com>
2022-03-14 13:25:05 +09:00
Rémi Verschelde
972bca75a8
Merge pull request #59107 from otonashixav/expose-add-animation-slice 2022-03-13 17:18:42 +01:00
bruvzg
aada395354
Fix text clipping on the right side. 2022-03-13 17:26:00 +02:00
Xavier Loh
a0e720efb2 Expose RenderingServer::canvas_item_add_animation_slice in GDScript 2022-03-13 22:53:24 +08:00
Rémi Verschelde
7ed8d52fb2
Merge pull request #58819 from vreon/fix-eyedir-z
Fix flipped EYEDIR.z in sky shaders
2022-03-13 00:55:32 +01:00