Pedro J. Estébanez
99fe462452
Modernize Thread
...
- Based on C++11's `thread` and `thread_local`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed (except for the few cases of non-portable functions)
- Simpler for `NO_THREADS`
- Thread ids are now the same across platforms (main is 1; others follow)
2021-01-29 12:02:13 +01:00
Rémi Verschelde
a9b151c664
Merge pull request #44668 from clayjohn/VULKAN-downsample
...
Use cubemap downsampler for reflection mipmaps
2021-01-20 20:41:47 +01:00
reduz
099dee35f4
Added GPU based cluster builder
...
Clustering is now GPU based, uses an implementation based on the Activision algorithm.
2021-01-19 23:31:06 +01:00
reduz
7008e3c6ea
Shader optimizations to reduce VGPR usage and increase occupancy
2021-01-19 23:31:02 +01:00
Sean LaPlante
17ac012728
Fixes #45025 - Protects _last_mix_time and _last_frame_time with the AudioDriver lock() and unlock() methods
2021-01-16 13:10:05 -05:00
Rémi Verschelde
011d201046
Merge pull request #43923 from madmiraal/fix-43588
...
Fix cast_motion sometimes failing
2021-01-14 20:44:19 +01:00
Rémi Verschelde
0b409d89d0
Merge pull request #45136 from akien-mga/clang-format-11
...
CI: Update to clang-format 11 and apply ternary operator changes
2021-01-13 16:10:44 +01:00
Rémi Verschelde
af878716f2
CI: Update to clang-format 11 and apply ternary operator changes
2021-01-12 19:32:53 +01:00
Yuri Roubinsky
ef941a6500
Renamed emit_particle
to emit_subparticle
shader function
2021-01-12 09:41:08 +03:00
Yuri Roubinsky
fcc5d67b03
Fix shader uniform instances compilation
2021-01-11 17:46:33 +03:00
Rémi Verschelde
a33dc4274c
Merge pull request #45066 from Chaosus/shader_fix_uniform_crash
...
Prevent editor crash due to modify the order of non-instance shader uniforms by instance uniforms
2021-01-11 14:58:55 +01:00
Yuri Roubinsky
289cc89a39
Prevent crash due to assigning incorrect order of instance uniform
2021-01-10 10:52:30 +03:00
Yuri Roubinsky
fdfddbdc3c
Fix LIGHT compilation for canvas shader
2021-01-09 23:22:59 +03:00
Marcel Admiraal
7653b8cc1e
Fix multiple issues with one-way collisions
...
For RigidBodies, uses the collision normal determined by relative motion
to determine whether or not a one-way collision has occurred.
For KinematicBodies, performs additional checks to ensure a one-way
collision has occurred, and averages the recovery step over all collision
shapes.
Co-authored-by: Sergej Gureev <sergej.gureev@relex.fi>
2021-01-07 09:22:39 +00:00
reduz
cdb216f4e4
Added ability to visualize native shaders
2021-01-06 09:40:09 -03:00
reduz
446618cf94
Change the light attenuation formulas.
...
-Much better looking, physically based.
-Almost negligible extra cost.
2021-01-05 14:44:05 -03:00
reduz
77bc3e9ac3
Threaded optimizations to cull and render
...
-Reorganize thread work pool for rendering
-Fixes to make secondary command buffers to work (disabled because they need more testing)
2021-01-05 08:50:18 -03:00
reduz
5d2a1d7892
Rewrite render code to be more cache and thread friendly.
2021-01-05 08:50:18 -03:00
reduz
9a2f18f8e7
Reorganize renderer code.
...
So it can hopefully be made more cache efficient afterwards.
2021-01-05 08:50:18 -03:00
Rémi Verschelde
00f5ea2ed2
Merge pull request #44842 from clayjohn/VULKAN-SSAO-2
...
SSAO renames and move push constant binding
2021-01-04 23:03:54 +01:00
Hendrik Brucker
ec6fc059b7
fix inconsistent normal map shader variable naming
2021-01-04 14:08:01 +01:00
Rémi Verschelde
a408622c06
Merge pull request #44530 from clayjohn/VULKAN-framebuffer-error
...
Use basic uniform set for depth prepass
2021-01-04 09:34:27 +01:00
clayjohn
0015260c4b
SSAO cleanup and fixes
2021-01-03 21:32:22 -08:00
Muller-Castro
31dd07ba30
Typo correction
...
simple typo correction
2021-01-02 02:27:12 -03:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
...
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
K. S. Ernest (iFire) Lee
dff1d8d7b0
Expose gltf2 eight weights.
2020-12-29 05:28:00 -08:00
Marcel Admiraal
b4a190e0bc
Consistently use normal_map
2020-12-29 08:04:19 +00:00
Rémi Verschelde
6cebb8c117
Merge pull request #44586 from madmiraal/rename-stepify
...
Rename Math::stepify to snapped
2020-12-28 21:46:43 +01:00
Rémi Verschelde
058f3fe069
Merge pull request #44149 from madmiraal/rename-tangent-orthogonal
...
Rename Vector2.tangent() to Vector2.orthogonal()
2020-12-28 16:00:12 +01:00
Marcel Admiraal
b743a2ef3c
Rename Math::stepify to snapped
2020-12-28 13:01:30 +00:00
Marcel Admiraal
5b937d493f
Rename empty() to is_empty()
2020-12-28 10:39:56 +00:00
Rémi Verschelde
1f7d6ba736
Merge pull request #44715 from clayjohn/VULKAN-SSAO-cleanup
...
Cleanup leftover functions from adding SSAO
2020-12-27 10:53:23 +01:00
Yuri Roubinsky
ef4e625918
Merge pull request #44705 from Chaosus/shader_fix_array_postinit
...
Fix using post-init shader array constructors
2020-12-27 08:26:31 +03:00
clayjohn
34cfe1cc40
Cleanup leftover functions from adding SSAO
2020-12-26 16:33:07 -08:00
reduz
548524152e
Rewrite culling to be more cache/thread friendly.
...
-Uses a single array with all data
-Massive performance improvement
-Does not support threads yet, but code is now thread friendly
2020-12-26 19:11:33 -03:00
Yuri Roubinsky
bc0e8e7a21
Fix using post-init shader array constructors
2020-12-27 01:07:24 +03:00
Yuri Roubinsky
fb16b1e39b
Merge pull request #44436 from Chaosus/shader_const_switch
...
Added support for constants in shader `case` and array size declaration
2020-12-27 00:55:45 +03:00
clayjohn
28d0f8a455
Use cubemap downsampler for reflection mipmaps
2020-12-24 16:39:17 -08:00
Juan Linietsky
545c894614
Merge pull request #44656 from reduz/cull-fixes-and-optimizations
...
Cull fixes and optimizations
2020-12-24 14:01:19 -03:00
Rémi Verschelde
ecda989c85
Merge pull request #44649 from lyuma/bone_aabb_blendshapes
...
Fix blendshapes and calculation of bone_aabbs
2020-12-24 17:20:07 +01:00
reduz
1bebb2ba05
Cull fixes and optimizations
2020-12-24 12:18:28 -03:00
lawnjelly
6d687de9b8
Fix BVH to world_aabb, and call update
...
The calls to the BVH need to use the world space AABB, rather than local space for it to work. Also, update was not being called which is required to update the AABB as objects move.
2020-12-24 11:19:50 +00:00
Rémi Verschelde
6063af6788
Merge pull request #44641 from reduz/get-frame-setup-time
...
Add API to get frame setup time on CPU
2020-12-24 10:07:54 +01:00
Lyuma
d976003b16
Fix blendshapes and calculation of bone_aabbs
...
Blendshapes without a skeleton already worked.
However, due to a faulty ERR_FAIL_COND, it was impossible to create a mesh with both bones and blendshapes.
This also fixes an assumption that all surfaces reference the same number of bones as surface 0.
2020-12-24 00:01:07 -08:00
clayjohn
3a8c99a10b
Use basic uniform set for depth prepass
2020-12-23 20:23:51 -08:00
Juan Linietsky
3fdf4bfe71
Merge pull request #44623 from reduz/rewrite-renderer-indexer
...
Replace Octree by DynamicBVH in cull code
2020-12-24 00:20:45 -03:00
reduz
7219f37cb5
Add API to get frame setup time on CPU
...
Needed for benchmarks
2020-12-24 00:13:52 -03:00
reduz
f910e9f70c
Bind viewport measure functions
2020-12-23 20:40:19 -03:00
reduz
83058597cf
Replace Octree by DynamicBVH in cull code
...
-Much greater pairing/unpairing performance
-For now, using it for culling too, but this will change in a couple of days.
-Added a paged allocator, to efficiently alloc/free some types of objects.
2020-12-23 19:31:30 -03:00
Rémi Verschelde
c4c211c3b7
Merge pull request #44605 from madmiraal/rename-control-margin
...
Rename Control margin to offset
2020-12-23 18:24:00 +01:00