Juan Linietsky
f5f3d820e0
Replaced GLSLang reflection by SPIRV-Reflect, eventually allowing to move GLSLang out.
2019-12-12 13:01:23 +01:00
Juan Linietsky
ffbc9823d9
Custom material support seems complete.
2019-12-12 12:54:09 +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
36b8c9c1bc
Use a special sampler for 2D shadows, so they are softer
2019-12-12 11:49:31 +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
7d87e11e99
Changed allocation strategy of CanvasItem draw commands.
...
They should now allocate memory in blocks and reuse the same
memory every time the item is cleared and redrawn.
This should improve performance considerably.
2019-12-12 11:46:35 +01:00
Juan Linietsky
490fd93995
Fix crash on import.
2019-12-12 11:44:08 +01:00
Juan Linietsky
823feb8310
Added ability to retrieve back textures stored on GPU
2019-12-12 11:44:06 +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
d128ef1ecb
Changed my mind on Vulkan image API, images should now include mipmaps
...
This should make it easier to obtain the data directly from an Image
2019-12-12 10:15:57 +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
ee921965be
Modify RenderingDevice to use RIDs, now that they are O(1)
2019-12-12 09:23:03 +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
Juan Linietsky
b2b7a41318
Added support for push constants
2019-12-12 08:53:55 +01:00
Juan Linietsky
bba5752b4b
Improved validation of attachments
2019-12-12 08:52:35 +01:00
Juan Linietsky
90e61a5632
Added default values where missing.
2019-12-12 08:50:48 +01:00
Juan Linietsky
c5e77a1b2f
Initial work on Vulkan:
...
-Added VulkanContext
-Added an X11 implementation
-Added a rendering device abstraction
-added a Vulkan rendering device abstraction
-Engine does not work, only shows Godot logo (run it from bin/)
2019-12-12 08:50:47 +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
371de5132c
Merge pull request #34251 from bojidar-bg/32993-lightoccluder-flip
...
Flip cull mode when rendering flipped Light2D and LightOccluder2D
2019-12-12 07:33:19 +01:00
Rémi Verschelde
f676d7509e
Merge pull request #34262 from clayjohn/default_point_size
...
Add a default POINT_SIZE
2019-12-12 06:45:31 +01:00
Bojidar Marinov
eec7702711
Flip cull mode when rendering flipped Light2D and LightOccluder2D
...
Fixes #32993
2019-12-11 23:28:35 +02:00
Rémi Verschelde
9abc0ad8a5
Merge pull request #27792 from Giacom/fix_quat
...
Fixes being unable to use the Quat(Vector3) constructor
2019-12-11 22:04:09 +01:00
Rémi Verschelde
334ed8f0c2
Merge pull request #34282 from YeldhamDev/load_doc_absolute
...
Add note in 'load()' docs that the path must be absolute
2019-12-11 21:59:35 +01:00
Michael Alexsander
6cc3bb2d9b
Add note in 'load()' docs that the path must be absolute
2019-12-11 17:14:58 -03:00
Rémi Verschelde
cca13462f1
Merge pull request #34274 from MissKraya/34186-fix
...
Fix for #34186 : "Center Selection" in 2D editor introduces graphic bias.
2019-12-11 19:41:36 +01:00
Hannah Crawford
4da0d7727f
Fix for #34186 : "Center Selection" in 2D editor introduces graphic bias.
2019-12-11 16:09:55 +00:00
Rémi Verschelde
98c3990f7d
Merge pull request #34271 from vnen/gdscript-unused-class-variable-disable
...
Disable GDScript warning for unused class variable by default
2019-12-11 16:27:42 +01:00
Rémi Verschelde
70a8c37957
Merge pull request #34227 from akien-mga/scons-mingw-split-libmodules
...
SCons: Add 'split_libmodules' option to workaround linker issue
2019-12-11 16:21:16 +01:00
Rémi Verschelde
c320a82213
SCons: Add 'split_libmodules' option to workaround linker issue
...
The new 'split_libmodules=yes' option is useful to work around linker
command line size limitations when linking a huge number of objects.
We're currently over 64k chars when linking libmodules.a on Windows
with MinGW, which triggers issues as seen in #30892 .
Even on Linux, we can also reach linker command line size limitations
by adding more custom modules.
We force this option to True for MinGW on Windows, which fixes #30892 .
Additional changes to lib splitting:
- Fix linking of the split module libs with interdependent symbols,
hacking our way into LINKCOM and SHLINKCOM to set the `--start-group`
and `--end-group` flags.
- Fix Python 3 compatibility in `methods.split_lib()`.
- Drop seemingly obsolete condition for 'msys' on 'posix'.
- Drop the unnecessary 'split_drivers' as the drivers lib is no longer
too big since we moved all thirdparty builds to modules.
Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2019-12-11 15:40:28 +01:00
Rémi Verschelde
df2e3e3f7f
Merge pull request #33018 from Xrayez/fix-inst2dict-getters
...
Fix `inst2dict` calling to getters to retrieve value
2019-12-11 15:06:38 +01:00
George Marques
cbf5641a74
Disable GDScript warning for unused class variable by default
2019-12-11 11:02:07 -03:00
Rémi Verschelde
cd9d513285
Merge pull request #34181 from van800/rider
...
Support Rider as external editor for Godot mono version
2019-12-11 09:20:31 +01:00
Rémi Verschelde
f965ccee7b
Merge pull request #34261 from timothyqiu/check-34255
...
Fixes infinite loop when switching editor
2019-12-11 08:42:41 +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
Ivan Shakhov
8fbc9d33fd
Support Rider as External Editor
2019-12-11 08:39:04 +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
Rémi Verschelde
95eab06471
Merge pull request #34239 from timothyqiu/theme-clear-32702
...
Fixes crash when using Theme::clear
2019-12-11 08:33:23 +01:00
clayjohn
676f647c74
Add a default POINT_SIZE
2019-12-10 23:08:20 -08:00
Rémi Verschelde
61e89dcd4a
Merge pull request #34250 from flyingpimonster/fix-musl
...
Fix build on musl-based systems
2019-12-11 07:41:29 +01:00
Haoyu Qiu
6f178a2061
Fixes infinite loop when switching editor
2019-12-11 13:27:21 +08:00
Haoyu Qiu
5586103a94
Validates texture in set_piece_texture
2019-12-11 11:24:42 +08:00
James Westman
589eb80a90
Fix build on musl-based systems
...
On some systems, including Alpine Linux, musl is used instead of
glibc. This commit patches the third-party V-HACD module to provide
a macro not provided by musl.
Fixes #31555 .
2019-12-10 15:54:32 -06:00
Rémi Verschelde
435cced7d8
Merge pull request #34238 from clayjohn/GLES2-use-renderbuffer-post-process
...
Use renderbuffer depth for post-process buffers when appropriate
2019-12-10 17:16:40 +01:00