floppyhammer
37230dbb1f
Fix CPUParticles2D disappearance after amount change
2021-08-12 10:53:37 +08:00
Hugo Locurcio
635f6cdf2e
Fix the Use Nearest Mipmap Filter project setting not working
...
The project setting wasn't being used anywhere.
This also tweaks the property hints to denote that these properties
are only effective after a restart.
2021-08-12 01:58:42 +02:00
PouleyKetchoupp
f9176a39ce
Make radius & height in CapsuleShape3D independent
...
Also changed CapsuleMesh to make settings consistent between render and
physics.
2021-08-11 14:54:53 -07:00
Rémi Verschelde
e30be92ce8
Merge pull request #41634 from KoBeWi/the_independence
2021-08-11 18:16:24 +02:00
Tomasz Chabora
f12f5b36b5
Make radius & height in CapsuleShape2D independent
2021-08-11 17:34:27 +02:00
Hugo Locurcio
d364ff2087
Decrease the default depth of field bokeh quality
...
This makes depth of field perform better out of the box, with little
visual difference.
2021-08-11 16:59:22 +02:00
Rémi Verschelde
62047e4e48
Merge pull request #51486 from reduz/fixes-to-mobile-renderer
...
Fixes and optimizations to mobile renderer
2021-08-11 15:19:11 +02:00
Yuri Roubinsky
efc6b29601
Merge pull request #51505 from Chaosus/shader_fix_shadetype-errorline
2021-08-11 14:46:04 +03:00
Yuri Roubinsky
2fb5231bbc
Break futher shader compilation after missing ;
aftershader_type
2021-08-11 12:37:59 +03:00
Yuri Roubinsky
0f42a29864
Allow using more assignment operators on matrixes in shaders
2021-08-11 11:51:39 +03:00
Yuri Roubinsky
a902f76063
Merge pull request #51494 from Chaosus/shader_fix_varying_crashes
2021-08-11 11:23:10 +03:00
Yuri Roubinsky
fead1595f9
Fix shader crash when using varying array in fragment->light context
2021-08-11 09:44:00 +03:00
Rémi Verschelde
7d43da928f
Merge pull request #51490 from nekomatata/clean-character-body
...
Remove infinite inertia and ray shapes from CharacterBody
2021-08-11 08:04:09 +02:00
Rémi Verschelde
2c88e1c15d
Merge pull request #51178 from Geometror/layout-options-textline-textparagraph
...
Various text layout improvements (TextLine, TextParagraph, Label, TextServer)
2021-08-11 07:51:57 +02:00
clayjohn
a7c3e0dcd6
Use f0 instead of albedo in blinn and phong
2021-08-10 21:54:24 -07:00
reduz
ca117910da
Fixes and optimizations to mobile renderer
...
* Only apply final actions to attachments used in the last pass.
* Fixes to draw list final action (was using continue instead of read/drop).
* Profiling regions inside draw lists now properly throw errors.
* Ability to enable gpu profile printing from project settings. (used to debug).
2021-08-10 23:17:28 -03:00
Hendrik Brucker
403f4902d0
Various text layout improvements (TextLine, TextParagraph, Label, TextServer)
2021-08-11 00:09:48 +02:00
Rémi Verschelde
afb40920fe
Merge pull request #51411 from clayjohn/VULKAN-blinn-phong
...
[4.0] Make Blinn and Phong specular modes take albedo into account
2021-08-10 21:11:48 +02:00
PouleyKetchoupp
4da3a87f7d
Remove infinite inertia and ray shapes from CharacterBody
...
Infinite inertia:
Not needed anymore, since it's now possible to set one-directional
collision layers in order for characters to ignore rigid bodies, while
rigid bodies still collide with characters.
Ray shapes:
They were introduced as a work around to allow constant speed on slopes,
which is now possible with the new property in CharacterBody instead.
2021-08-10 12:10:26 -07:00
Rémi Verschelde
46beaacec3
Merge pull request #51017 from vnen/extension-fixes
2021-08-10 16:42:31 +02:00
Rémi Verschelde
50d5569ad4
Merge pull request #51457 from nekomatata/moving-platforms-3d
...
Fix 3D moving platform logic
2021-08-10 14:12:01 +02:00
Rémi Verschelde
16d73fefdb
Merge pull request #50682 from aaronfranke/basis-looking-at
...
Move code for looking_at to Basis
2021-08-10 11:28:12 +02:00
Rémi Verschelde
8b960a2d2b
Merge pull request #51467 from Chaosus/fix_aa
...
Fix incorrect border width of antialiased lines
2021-08-10 10:52:11 +02:00
Rémi Verschelde
51b4df72a7
Merge pull request #51436 from Calinou/tonemap-clamp-negative-colors
...
Clamp negative colors regardless of the tonemapper to avoid artifacts
2021-08-10 09:56:11 +02:00
Rémi Verschelde
56f17d925f
Merge pull request #51417 from clayjohn/Vulkan-horizon-so
...
Add horizon specular occlusion
2021-08-10 09:56:02 +02:00
Yuri Roubinsky
59c137a99b
Fix incorrect border width of antialiased lines
2021-08-10 09:08:02 +03:00
PouleyKetchoupp
ec9fed69f4
Fix 3D moving platform logic
...
Same thing that was already done in 2D, applies moving platform motion
by using a call to move_and_collide that excludes the platform itself,
instead of making it part of the body motion.
Helps with handling walls and slopes correctly when the character walks
on the moving platform.
Also made some minor adjustments to the 2D version and documentation.
Co-authored-by: fabriceci <fabricecipolla@gmail.com>
2021-08-09 20:21:04 -07:00
clayjohn
fa962ff27d
Make Blinn and Phong specular modes PBR
2021-08-09 20:09:00 -07:00
Aaron Franke
430ad75963
Some work on double support
2021-08-09 17:43:48 -05:00
Rémi Verschelde
2de5d2361a
Merge pull request #51446 from nekomatata/fix-moving-platform-rotation
...
Fix applied rotation from moving platforms in move_and_slide
2021-08-09 23:20:44 +02:00
PouleyKetchoupp
5650c83e4b
Fix applied rotation from moving platforms in move_and_slide
...
When synchronizing CharacterBody motion with moving the platform using
direct body state, only the linear velocity was taken into account.
This change exposes velocity at local point in direct body state and
uses it in move_and_slide to get the proper velocity that includes
rotations.
2021-08-09 12:30:17 -07:00
Aaron Franke
84f720966c
Use doubles for time in many other places
2021-08-09 14:05:42 -05:00
Rémi Verschelde
9d9161c719
Merge pull request #49753 from aaronfranke/render-server-floats
...
Handle both 32-bit and 64-bit floats for tangents and weights in RenderingServer
2021-08-09 21:02:01 +02:00
Hugo Locurcio
57451f132f
Clamp negative colors regardless of the tonemapper to avoid artifacts
...
Color artifacts could be visible when using negative lights with the
Filmic and ACES tonemapping operators, as these did not clamp negative
colors.
2021-08-09 17:01:07 +02:00
Rémi Verschelde
0a38d5c8f7
Merge pull request #43158 from nathanfranke/fix-gradient-and-draw-tile
...
Fix Gradient and Color Picker checkerboard, Fix tile parameter for CanvasItem.draw_texture_rect
2021-08-09 16:47:58 +02:00
Rémi Verschelde
85399a9170
Merge pull request #51155 from Chaosus/shader_fix_specular_mode
...
Fix a default shader specular render mode to `SCHLICK_GGX`
2021-08-09 08:13:47 +02:00
clayjohn
7bdea93497
Add horizon specular occlusion
2021-08-08 19:43:48 -07:00
bruvzg
7c3c5603d0
[Text Server] Improve object (image/table) inline alignment.
2021-08-08 22:35:47 +03:00
Nathan Franke
051234e84e
Fix Gradient, Color Picker BG, Fix CanvasItem::draw_texture_rect p_tile
2021-08-07 16:40:50 -05:00
Yuri Roubinsky
f860ee3091
Merge pull request #51356 from Chaosus/shader_dialog
2021-08-07 21:49:23 +03:00
Yuri Roubinsky
5e5cd2495d
Added editor dialog for easily creating shaders.
2021-08-07 21:02:13 +03:00
Michael Alexsander
4bef900399
Invert how global_rate_scale
value works, and rename it to playback_speed_scale
2021-08-07 12:32:42 -03:00
lawnjelly
dd0f54a368
Fix Transform::xform(Plane) functions
...
The Transform::xform and xform_inv are made safe for Planes when using non-uniform scaling.
Optimization of calling sites to prevent loss of performance from the changes to xform(Plane).
2021-08-07 11:10:50 +01:00
Rémi Verschelde
da339f8ffc
Merge pull request #51309 from Chaosus/fix_uniform_error_spam
...
Fix incorrect checking of uniform set to prevent error spam
2021-08-06 17:15:03 +02:00
Rémi Verschelde
ed15d2c413
Merge pull request #49924 from BastiaanOlij/mobile_render_subpass
...
Use subpasses to do 3D rendering and resolve in mobile renderer
2021-08-06 17:00:00 +02:00
Bastiaan Olij
b920bf05a4
Use subpasses to do 3D rendering and resolve in mobile renderer
2021-08-06 23:43:26 +10:00
Yuri Roubinsky
47a6bb2f28
Fix a default shader specular render mode to (SCHLICK_GGX
/BLINN
)
2021-08-06 16:01:58 +03:00
Rémi Verschelde
d4e7a1af44
Merge pull request #51082 from ellenhp/fix_cubic_resampling
2021-08-06 11:27:13 +02:00
Yuri Roubinsky
ac4406cfbe
Fix incorrect checking of uniform set to prevent error spam
2021-08-06 12:20:12 +03:00
George Marques
97947bc063
Fix a few default parameters in bindings
...
They have the wrong type and cause issues with extensions.
2021-08-05 14:57:29 -03:00
Aaron Franke
93b5606e6c
Handle 32-bit and 64-bit floats for tangents/weights in RenderingServer
2021-08-01 18:32:50 -05:00
Rémi Verschelde
dbd1a90bd4
Merge pull request #50942 from BastiaanOlij/cubemap_raster
...
Porting cubemap compute shaders to raster for the mobile renderer
2021-08-01 21:52:24 +02:00
Aaron Franke
9f3ae0adcd
Move code for looking_at to Basis
2021-08-01 12:49:02 -05:00
Bastiaan Olij
c76426527b
Porting cubemap compute shaders to raster for the mobile renderer
2021-08-01 21:22:38 +10:00
Rémi Verschelde
6acbcf7a86
Merge pull request #50625 from nekomatata/body-one-direction-layers
...
One-directional collision layer check for rigid bodies and soft bodies
2021-07-31 22:12:46 +02:00
Rafał Mikrut
e8877806ec
Fix 'Attempted to remove invalid ID' errors
2021-07-31 15:30:31 +02:00
Ellen Poe
2d450c6f61
Fix Godot's cubic resampling algorithm
2021-07-30 13:20:25 -07:00
Hugo Locurcio
d2b65c69e9
Expose Vulkan's clustered and mobile backends in the project manager
...
Since OpenGL will not be available in Godot 4.0, this exposes a
choice between Vulkan clustered and Vulkan mobile in the project manager.
Despite the name, Vulkan mobile has many benefits on desktop platforms.
It provides better performance on simple scenes, and ensures that you
won't accidentally use unsupported features while testing your project
on desktop platforms.
The Vulkan backend setting was made into a "basic" setting so that
it can be changed without having to enable the Advanced Settings toggle.
This also improves list formatting to use bullet points and tweaks
the property hint to be more descriptive.
2021-07-30 19:36:17 +02:00
Ellen Poe
57ccfab5fb
Revert "Implement a new resampling algorithm in AudioStreamPlaybackResampled"
...
This reverts commit b2264cb48b
.
2021-07-30 08:07:48 -07:00
reduz
55d357b1eb
Fix directional shadow bias
...
* Simplified code a lot, bias based on normalized cascade size.
* Lets scale cascades, max distance, etc. without creating acne.
* Fixed normal biasing in directional shadows.
I removed normal biasing in both omni and spot shadows, since the technique can't be easily implemented there.
Will need to be replaced by something else.
2021-07-29 13:51:32 -03:00
Hugo Locurcio
e6a544c169
Merge pull request #50891 from Vitika9/50852
...
Removed redundant assignment of `blur_pipeline`
2021-07-26 21:43:38 +02:00
Rémi Verschelde
fef27e9b5b
Merge pull request #50895 from Chaosus/fix_shader_crash
...
Fix editor crash if passing index as variable to function parameter
2021-07-26 17:38:14 +02:00
Rémi Verschelde
8f6c16e4a4
Merge pull request #50847 from reduz/implement-binary-shader-compilation
...
Implement Binary Shader Compilation
2021-07-26 17:09:48 +02:00
Yuri Roubinsky
c082982a47
Fix editor crash if passing index as variable to function parameter
2021-07-26 17:42:52 +03:00
vitika9
1c63866996
Fixed coding style
2021-07-26 20:12:16 +05:30
Rémi Verschelde
64dc58bfba
Merge pull request #50884 from Chaosus/fix_shader_crash
...
Prevents shader crashing if varying assigned incorrectly by using compound assignment operators (*=, += etc.)
2021-07-26 15:39:59 +02:00
Nicholas Huelin
7f908cf40f
Fix expression in cluster_builder_rd.h
...
This expression should now work as intended.
2021-07-26 08:19:53 -04:00
Yuri Roubinsky
b47b3a9957
Prevents shader crashing if varying assigned incorrectly
2021-07-26 14:47:14 +03:00
reduz
cf3f404d31
Implement Binary Shader Compilation
...
* Added an extra stage before compiling shader, which is generating a binary blob.
* On Vulkan, this allows caching the SPIRV reflection information, which is expensive to parse.
* On other (future) RenderingDevices, it allows caching converted binary data, such as DXIL or MSL.
This PR makes the shader cache include the reflection information, hence editor startup times are significantly improved.
I tested this well and it appears to work, and I added a lot of consistency checks, but because it includes writing and reading binary information, rare bugs may pop up, so be aware.
There was not much of a choice for storing the reflection information, given shaders can be a lot, take a lot of space and take time to parse.
2021-07-26 08:40:39 -03:00
Yuri Roubinsky
3013324a4e
Fix compilation of shader_language.cpp
2021-07-26 13:44:21 +03:00
Rémi Verschelde
a8fcfbf029
Merge pull request #50729 from Chaosus/shader_varying_enchancements2
...
Allow using vertex-stage varying in both `fragment` and `light` functions
2021-07-26 12:17:49 +02:00
Rémi Verschelde
9b9e09f675
Merge pull request #50728 from Chaosus/shader_varying_enchancements
...
Allow using vertex varying in custom functions under any circumstances
2021-07-26 12:17:40 +02:00
Rémi Verschelde
7341dd5afa
Merge pull request #50856 from SirQuartz/patch-32
...
Fix always true expression `radius > 0.98 || radius < 1.02` in `cluster_builder_rd.h`
2021-07-26 08:47:33 +02:00
Nicholas Huelin
a1a392045d
Fix always true expression in cluster_builder_rd.h
...
This pull request fixes an issue where an expression would always evaluate to `true` no matter what.
2021-07-25 11:53:04 -04:00
luz paz
5cf3bed0c8
Fix various typos
...
Follow-up typos found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 07:18:25 -04:00
Rémi Verschelde
ff0b5f8fa1
Merge pull request #50809 from akien-mga/iterators-const-references
2021-07-25 12:52:58 +02:00
Rémi Verschelde
2f221e5fd5
Merge pull request #50250 from luzpaz/typos
...
Fix various typos
2021-07-25 12:38:58 +02:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
Rémi Verschelde
2a8a59eac0
Merge pull request #50644 from BastiaanOlij/mobile_compute_to_fragment
2021-07-25 11:58:11 +02:00
luz paz
3564c16cb8
Fix various typos with codespell
...
Found via `codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,fave,findn,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint`
2021-07-25 11:21:51 +02:00
Bastiaan Olij
1f69582835
Use fragment shader instead of compute shader for effects for mobile renderer
2021-07-25 13:58:21 +10:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
bruvzg
618eb27e8b
Move alert
function from DisplayServer
to OS
.
2021-07-22 21:50:35 +03:00
Yuri Roubinsky
17b462cc5f
Allow using vertex-stage varying in both fragment
and light
2021-07-22 11:55:14 +03:00
Yuri Roubinsky
94a7b04a01
Allow using vertex varying in custom functions under any circumstances
2021-07-22 11:27:13 +03:00
Yuri Roubinsky
39c06604cd
Forbid varyings from assigning in custom functions to prevent crashes
2021-07-21 14:12:54 +03:00
Rémi Verschelde
71f8253579
Merge pull request #50489 from Chaosus/shader_varying
...
Prevent error if varying assigned but not used (push warning instead)
2021-07-21 13:05:08 +02:00
Rémi Verschelde
2273f13fbe
Merge pull request #50686 from Calinou/use-standard-inf-nan-constants
...
Use the standard C `INFINITY` and `NAN` constants directly
2021-07-21 11:50:26 +02:00
Hugo Locurcio
4bd5e4fd9b
Use the standard C INFINITY
and NAN
constants directly
...
The `Math_INF` and `Math_NAN` defines were just aliases for those
constants, so we might as well use them directly.
Some portions of the code were already using `INFINITY` directly.
2021-07-21 10:41:08 +02:00
Aaron Franke
78b0a7da03
Use is_equal_approx in more places
2021-07-21 00:32:37 -04:00
Rémi Verschelde
fa56989818
Merge pull request #50537 from Calinou/improve-shader-error-output-2
...
Add error marking to the shader error console output
2021-07-20 11:00:17 +02:00
Rémi Verschelde
394191c02f
Merge pull request #50605 from Calinou/tweak-shader-code-style
...
Use C++11 raw literals for shader code to improve readability
2021-07-20 10:05:13 +02:00
Rémi Verschelde
1ba87f0c82
Merge pull request #50618 from reduz/implement-more-specialization-constants
...
Implement more rendering options as specialization constants
2021-07-20 08:54:21 +02:00
reduz
9293bc3935
Implement more rendering options as specialization constants
...
* Shadow quality settings now specialization constant.
* Decal and light projector filters can be set.
* Changing those settings forces re-creation of the pipelines.
These changes should help improve performance related to shadow mapping, and allows improving performance by sacrificing decal and light projector quality.
2021-07-19 21:51:29 -03:00
PouleyKetchoupp
940838c174
One-directional collision layer check for rigid bodies and soft bodies
...
Check for each body individually if it collides with the other one or
ignores it.
When a body is being ignored, the other body's mass is considered
infinite when applying impulses to avoid extra overlapping.
2021-07-19 17:24:04 -07:00
Rémi Verschelde
db010bd71d
Merge pull request #50604 from aaronfranke/float-array-cast
...
Explicitly cast real_t to float when creating a float array
2021-07-19 22:47:57 +02:00
Marcel Admiraal
b8fe576355
Ensure KinematicBodies only interact with other Bodies with matching mask.
2021-07-19 17:03:43 +01:00
Rémi Verschelde
855c7c7414
Merge pull request #50566 from reduz/optimize-stringname-usage
...
Optimize StringName usage
2021-07-19 15:20:25 +02:00
Hugo Locurcio
abc38b8d66
Use C++11 raw literals for shader code to improve readability
...
In files that have lots of branching, `\t` was replaced with a
tab character instead.
2021-07-19 08:19:50 +02:00
Aaron Franke
09f0596eb2
Explicitly cast to float when creating a float array
2021-07-19 01:21:22 -04:00