Commit graph

5795 commits

Author SHA1 Message Date
Juan Linietsky
514236a97c Rewritten StreamTexture for better code reuse, added basis universal support 2019-12-12 17:09:05 +01:00
Juan Linietsky
a345f50c8b Untested support for compute shaders 2019-12-12 17:09:04 +01:00
Yuri Roubinsky
783e33cc01 [Vulkan] Fix typo in shading modes 2019-12-12 17:08:51 +01:00
Juan Linietsky
ccaf7d5c35 Properly working instancing, and compatibility fixing for old meshes 2019-12-12 17:08:06 +01:00
Juan Linietsky
a0a7732aec Visual GPU profiler and related profiling support in Vulkan. 2019-12-12 17:08:05 +01:00
Juan Linietsky
8501b37b8f Modernized default 3D material, fixes material bugs. 2019-12-12 17:08:02 +01:00
Juan Linietsky
7919ef863b Several fixes to 3D rendering, and multimesh implementation. 2019-12-12 17:08:00 +01:00
Juan Linietsky
dd875c2c3c Directional lights and shadow mapping are functional. 2019-12-12 17:07:49 +01:00
Juan Linietsky
5f6ed2349c Rewrote large part of rendering, omni and spot shadows now work. 2019-12-12 17:07:48 +01:00
Juan Linietsky
7db3532b2e Environment sky more or less working. 2019-12-12 17:07:47 +01:00
Juan Linietsky
75299f4a63 Base 3D engine done, still untested, though. 2019-12-12 17:06:38 +01:00
Juan Linietsky
112c4c546c Vulkan/RD rasterizer now does clean exit. 2019-12-12 17:05:11 +01:00
bruvzg
142188639c Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2019-12-12 13:19:45 +01:00
Juan Linietsky
55426a3ab4 Completed material/2D shader support (missing SCREEN_TEXTURE) 2019-12-12 12:21:24 +01:00
Juan Linietsky
1dd402d083 Changes to material required to add custom shaders in RD renderer 2019-12-12 12:01:50 +01:00
Juan Linietsky
7c2bb1ceff Modified light rendering to make it more compatible.
Modified polygon management to make it more compatible with MoltenVK
2019-12-12 12:01:48 +01:00
Juan Linietsky
2e9c7ce62e 2D lighting seems more or less complete. 2019-12-12 11:49:19 +01:00
Juan Linietsky
75701f756f Normalmapping and Specularmapping working in 2D engine
Added support for Sprite, AnimatedSprite and Polygon2D (should add for tileset eventually).
2019-12-12 11:49:14 +01:00
Juan Linietsky
667785e474 Bugfixes and ability to better specify filter and repeat modes everywhere.
Removes antialiased flag for draw_* methods.
2019-12-12 11:33:08 +01:00
Juan Linietsky
017bcf9be4 basic 2D engine is more or less working with Vulkan, including editor.
Still a lot to do
2019-12-12 11:06:23 +01:00
Juan Linietsky
179145aaf5 Basic 2D engine is more or less working, needs more work for editor to be usable. 2019-12-12 10:57:32 +01:00
Juan Linietsky
e2ffdb2d01 A lot of progress with canvas rendering, still far from working. 2019-12-12 10:50:00 +01:00
Juan Linietsky
d4d470bc97 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2019-12-12 10:05:14 +01:00
Juan Linietsky
962382ac5c Refactored RID/RID_Owner to always use O(1) allocation.
* Implements a growing chunked allocator
* Removed redudant methods get and getptr, only getornull is supported now.
2019-12-12 08:55:15 +01:00
Rémi Verschelde
37d164e24e CharFXTransform: Drop unnecessary get_value_or()
See https://github.com/godotengine/godot/pull/23658#issuecomment-562706669
The method was implemented back when Dictionary.get(key, default) did not
exist, but now that it does we do not need a custom method in CharFXTransform.

It's a new feature in 3.2, so does not break compat with 3.1.x.
2019-12-12 07:47:08 +01:00
Rémi Verschelde
30cf60bb89
Merge pull request #34259 from timothyqiu/validate-texture-32982
Fixes crash after set_piece_texture with invalid texture
2019-12-11 08:41:29 +01:00
Rémi Verschelde
ea865d0e7e
Merge pull request #34241 from timothyqiu/sync-fallbacks-size-32701
Fixes crash when using DynamicFont::set_font_data
2019-12-11 08:34:21 +01:00
Rémi Verschelde
74381c380b
Merge pull request #34240 from timothyqiu/invalid-shader-io-29985
Fixes crash when shader inputs/outputs is invalid string
2019-12-11 08:33:54 +01:00
Haoyu Qiu
5586103a94 Validates texture in set_piece_texture 2019-12-11 11:24:42 +08:00
Haoyu Qiu
5deb6497a1 Fixes crash when using DynamicFont::set_font_data 2019-12-10 21:26:42 +08:00
Haoyu Qiu
024c25426b Fixes crash when shader inputs/outputs is invalid string 2019-12-10 17:04:18 +08:00
Haoyu Qiu
c29b8cf751 Fixes crash when using Theme::clear 2019-12-10 16:31:40 +08:00
Rémi Verschelde
2845e6a21a
Merge pull request #34040 from qarmin/unused_variable_more_precise_numbers
Removed unused variables, add some constants numbers
2019-12-10 08:25:31 +01:00
Rafał Mikrut
ed1c4bc77d Removed unused variables, add some constants numbers 2019-12-10 05:13:02 +01:00
Tomasz Chabora
6e1dc7b2fe Update minimum size of SpinBox on theme change 2019-12-10 02:11:22 +01:00
Rémi Verschelde
d7b2940eb6
Merge pull request #34203 from bruvzg/ime_placeholder
Hide LineEdit placeholder if IME composition string is not empty.
2019-12-09 09:09:42 +01:00
allkhor
2c559feb92 Fixed strange behaviour of scroll in the ItemList. 2019-12-09 01:54:10 +06:00
bruvzg
4937b21ce5
Hide LineEdit placeholder if IME composition string is not empty. 2019-12-08 18:24:30 +02:00
Michael Alexsander
d057007541 Add spaces after commas and strip extra ones in *FileDialog filter menu 2019-12-06 22:40:59 -03:00
Michael Alexsander
80dcd4423a Remove extra spaces from parenthesis in *FileDialog's filter menu 2019-12-06 07:31:42 -03:00
Tomasz Chabora
3b80eb06b7 Don't store index of root nodes 2019-12-05 01:18:48 +01:00
Rémi Verschelde
10bae7c05b
Merge pull request #33857 from nekomatata/polygon-2d-antialiasing
Fixed antialiased option for Polygon2D
2019-12-03 07:51:16 +01:00
Marcel Admiraal
750f343e4a Ensure move_and_slide() is consistent between the 2D and 3D versions.
In the 3D version:
- Partially revert #20908 that was reverted in the 2D version as part
  of #21653. This ensures that the Vector returned is always perpendicular
  to the surface collided with; and not the floor_normal Vector passed to
  the function when on a floor.
- Include an update of the floor velocity before multiplying by the time
  delta, which was added to the 2D version as part of commit 13a8014.

In the 2D version:
- Use the Vector2.slide() function instead of Vector2.tangent() to adjust
  the amount of motion the stop_on_slope undoes to ensure that it is in the
  right direction. This is a implementation of the 3D approach from #30588.
- Combine the !found_collision and motion == Vector2() checks for break.
- Other minor formating changes to make the functions look identical.

Also renamed some variables to align with their use.
2019-12-02 08:35:50 +01:00
PouleyKetchoupp
fdd99d4a7c Properly remove joint when a physical bone is removed from the scene
It was triggering a warning in bullet followed with a crash in some cases.
WARNING: assert_no_constraints: A body with a joints is destroyed. Please check the implementation in order to destroy the joint before the body.
     At: modules/bullet/rigid_body_bullet.cpp:465
2019-12-01 18:30:59 +01:00
Paulb23
b68703a35c Fixed caret alignment with placeholder text 2019-12-01 14:27:39 +00:00
Paulb23
3df68b4fa6 Fixed LineEdit alignment when removing text or undo / redo 2019-12-01 13:54:09 +00:00
Rémi Verschelde
06fd6e6945
Merge pull request #34019 from nekomatata/inspector-transform-update
Update transform property in the inspector when changing translation/rotation/scale
2019-12-01 11:43:04 +01:00
PouleyKetchoupp
b44e0d60c7 Update transform property in the inspector when changing translation/rotation/scale 2019-11-30 17:16:19 +01:00
Rémi Verschelde
5bf04d16f0
Merge pull request #34011 from nekomatata/state-machine-travel-on-ready
Handle state machine travel before the start node is processed
2019-11-30 17:05:17 +01:00
Rémi Verschelde
fc034be033
Merge pull request #34014 from KoBeWi/like_2d_like_3d
Port Path2D changes to 3D
2019-11-30 14:50:53 +01:00