Commit Graph

80 Commits

Author SHA1 Message Date
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
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
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
Marcel Admiraal 4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
Rémi Verschelde 6e43c68e40
Merge pull request #44182 from clayjohn/ASSAO
Replace SAO with ASSAO as Godot's new SSAO
2020-12-22 11:27:25 +01:00
clayjohn 44f8922305 Port ASSAO to Godot to replace SAO 2020-12-21 23:08:59 -08:00
Marcel Admiraal efea408d23 Ensure default value in _render_shadow is the same as parent
Use double instead of int for the p_lod_distance_multiplier default value in
RendererSceneRenderForward::_render_shadow to match parent default value in
RendererSceneRenderRD::_render_shadow
2020-12-21 09:36:20 +00:00
Rémi Verschelde e9d12f9e4e
Merge pull request #44521 from madmiraal/rename-rect2-clip
Rename Rect2 and Rect2i clip() to intersection()
2020-12-19 21:32:14 +01:00
reduz 666d5f3431 Fix error spam on wrong attachment
-For now, disable reading from depth this was always broken, needs to be fixed later
-Give better error showing binding and set when this happens.
2020-12-19 10:18:08 -03:00
Marcel Admiraal 2df9a8ccad Rename Rect2 and Rect2i clip() to intersection() 2020-12-19 12:59:08 +00:00
reduz 7bf90c7888 Improved shadow rendering efficiency
-Do not bind attributes that are not needed
-Improve a bit more how meshoptimizer interacts with Godot
2020-12-18 19:47:32 -03:00
reduz d2302f53d6 Implement automatic LOD (Level of Detail)
-Happens on import by default for all models
-Just works (tm)
-Biasing can be later adjusted per node or per viewport (as well as globally)
-Disabled AABB.get_support test because its broken
2020-12-18 15:48:03 +01:00
Yuri Roubinsky fe4c8e387b Added support for constants in shader `case` and array size declaration 2020-12-17 11:51:18 +03:00
reduz bf77016c8a Reimplement skeletons and blend shapes
Uses compute shaders, which only once, on demand, and all in parallel.
2020-12-16 14:32:04 -03:00
clayjohn 775e3db2e1 Fixes to recent Vulkan errors 2020-12-10 22:47:53 -08:00
Rémi Verschelde 9263f8eb4b
Image: Rename PVRTC{2,4} to PVRTC1_{2,4}, drop COMPRESS_PVRTC2
We haven't had a proper implementation for COMPRESS_PVRTC2 (which is PVRTC1 2-bpp) in years,
so let's drop it instead of keeping a compress type which doesn't work.

The other enum values were renamed to clarify that our PVRTC2 and PVRTC4 are respectively
PVRTC1 2-bpp and PVRTC1 4-bpp. PVRTC2 2-bpp and 4-bpp are not implemented yet.
2020-12-10 23:14:04 +01:00
bruvzg 644f739660
Static analyzer fixes:
Removes unused code in OS.
Fixes return types.
Fixes few typos.
2020-12-09 10:17:53 +02:00
reduz 2748b9a10d Add support for low-end 3D rendering.
-Reduce number of uniform sets from 6 to 4.
-Remove features in low end mode, in order to reduce the number of texture units fit to 16.
2020-12-07 20:50:57 -03:00
Marcel Admiraal a24c38d1a8 Rename Vector2.tangent() to Vector2.orthogonal() 2020-12-06 18:16:06 +00:00
Rémi Verschelde 744ab88884
Merge pull request #36382 from aaronfranke/unhide-the-hidden
Unhide hidden members by renaming them and rebind Mesh enums
2020-12-05 13:19:30 +01:00
Yuri Roubinsky 245d4af10c Frees CanvasShaderSDF reference (prevents warning at startup) 2020-12-05 11:28:44 +03:00
Aaron Franke 5dddf4377a
Rename RD texture "type" to "texture_type"
"type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
2020-12-04 19:34:50 -05:00
Aaron Franke 19bdd01438
Rename RD uniform "type" to "uniform_type"
"type" isn't very descriptive for exposed code, and this variable is exposed via RD_SETGET.
2020-12-04 19:34:50 -05:00
reduz 2787ad65be RenderingServer reorganization 2020-12-04 18:39:46 -03:00