Rémi Verschelde
2cf6ac6c50
Replace FALLTHROUGH macro by C++17 [[fallthrough]]
...
This attribute is now part of the standard we target so we no longer
need compiler-specific hacks.
Also enables -Wimplicit-fallthrough for Clang now that we can properly
support it. It's already on by default for GCC's -Wextra.
Fixes new warnings raised by Clang's -Wimplicit-fallthrough.
2020-02-23 00:52:50 +01:00
Juan Linietsky
3c0059650d
Added StringName as a variant type.
...
Also changed all relevant properties defined manually to StringName.
2020-02-21 14:25:29 +01:00
Juan Linietsky
9a34f39d32
Add support for named binds in Skin.
...
Helps better reutilization of skeletons from Maya exported files.
2020-02-21 09:40:29 -03:00
Juan Linietsky
69c95f4b4c
Reworked signal connection system, added support for Callable and Signal objects and made them default.
2020-02-20 08:24:50 +01:00
Rémi Verschelde
49fec646cb
Fix compilation warnings and re-enable werror=yes on Travis
...
Fix -Wunused-variable, -Wunused-but-set-variable and -Wswitch warnings
raised by GCC 8 and 9.
Fix -Wunused-function, -Wunused-private-field and
-Wtautological-constant-out-of-range-compare raised by Clang.
Fix MSVC 2019 warning C4804 (unsafe use of type 'bool' in comparison
operation).
GCC -Wcpp warnings/Clang -W#warnings (`#warning`) are no longer raising
errors and will thus not abort compilation with `werror=yes`.
Treat glslang headers are system headers to avoid raising warnings.
Re-enables us to build with `werror=yes` on Linux and macOS, thus
catching warnings that would be introduced by new code.
Fixes #36132 .
2020-02-18 20:51:25 +01:00
Andrea Catania
79fc7d7d6a
Added utility functions to the new NavigationServer:
...
- Vector3 get_closest_point_to_segment(const Vector3 &p_from, const Vector3 &p_to, const bool &p_use_collision = false);
- Vector3 get_closest_point(const Vector3 &p_point);
- Vector3 get_closest_point_normal(const Vector3 &p_point);
- Object *get_closest_point_owner(const Vector3 &p_point);
2020-02-18 17:12:45 +01:00
Juan Linietsky
3205a92ad8
PoolVector is gone, replaced by Vector
...
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
WARIO-MDMA
61d20b1f56
Reduce AudioStreamPlayer's pitch_scale max value
2020-02-15 22:26:08 +11:00
Rémi Verschelde
d2537407ef
Fix various GCC compilation warnings after Vulkan merge
...
Part of #36132 .
2020-02-14 10:02:31 +01:00
Rémi Verschelde
54ac8eaba6
Remove more deprecated methods and code
2020-02-13 12:37:45 +01:00
Rémi Verschelde
c48237967a
Merge pull request #36145 from akien-mga/remove-deprecated-friction-bounce
...
Remove deprecated PhysicsBody friction and bounce parameters
2020-02-12 21:49:38 +01:00
Juan Linietsky
cf8c679a23
ObjectID converted to a structure, fixes many bugs where used incorrectly as 32 bits.
2020-02-12 14:24:54 -03:00
Rémi Verschelde
1206bdb71b
Remove deprecated PhysicsBody friction and bounce parameters
...
They were replaced in 3.1 by PhysicsMaterial properties via #12403 .
2020-02-12 13:39:55 +01:00
Rémi Verschelde
0e3d625737
doc: Sync classref with current source
...
Lots of internal API changes and some docstrings were lost in the conversion.
I manually salvaged many of them but for all the rendering-related ones, an
additional pass is needed.
Added missing enum bindings in BaseMaterial3D and VisualServer.
2020-02-12 12:37:13 +01:00
Rémi Verschelde
db81928e08
Vulkan: Move thirdparty code out of drivers, style fixes
...
- `vk_enum_string_helper.h` is a generated file taken from the SDK
(Vulkan-ValidationLayers).
- `vk_mem_alloc.h` is a library from GPUOpen:
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2020-02-11 14:08:44 +01:00
Juan Linietsky
f14defb6f9
WIP CameraEffects implementation (bokeh not working for now)
2020-02-11 12:15:03 +01:00
Rémi Verschelde
fff4240bb4
Fix code formatting issues and VS compilation
...
Also temporarily disable multicheck build so that we get a full build
even when there are style issues on Vulkan.
Fixes #33356 .
2020-02-11 12:05:19 +01:00
Juan Linietsky
b509c814fc
Improved Voxel AO settings.
2020-02-11 12:05:05 +01:00
Juan Linietsky
f4c5e88ef2
Fix to category in material.
2020-02-11 12:05:04 +01:00
Juan Linietsky
da0457fa29
Several fixes to GIProbes
2020-02-11 12:04:56 +01:00
Juan Linietsky
f4948721e4
Fixed uninitialized memory bug in voxelizer
2020-02-11 12:04:54 +01:00
Pedro J. Estébanez
19e294e29b
Fix export template compilation
2020-02-11 12:04:31 +01:00
Juan Linietsky
2c67cc654f
AO support for GIProbe (right on time for Godot Sprint!)
2020-02-11 12:03:55 +01:00
Juan Linietsky
76c6f39d99
GIProbe now generates a distance field on bake using CPU, for better compatibility
2020-02-11 12:03:54 +01:00
Juan Linietsky
561b431d85
Dynamic object support for GI Probes (a bit buggy still)
2020-02-11 12:03:52 +01:00
Juan Linietsky
a95fb114ba
Fixed 2D and 3D CPU Particles
2020-02-11 12:03:50 +01:00
Juan Linietsky
6ee2f5e6b6
More GIProbe work and fixes
2020-02-11 12:03:49 +01:00
Juan Linietsky
acf0f6c8a7
GIProbes working.
2020-02-11 12:03:20 +01:00
Juan Linietsky
263bebe023
Untested support for compute shaders
2020-02-11 12:02:34 +01:00
Juan Linietsky
dd3682e5fe
Modernized default 3D material, fixes material bugs.
2020-02-11 12:01:24 +01:00
Juan Linietsky
6deffa62fb
Several fixes to 3D rendering, and multimesh implementation.
2020-02-11 12:01:22 +01:00
Juan Linietsky
88a7debbbc
Directional lights and shadow mapping are functional.
2020-02-11 12:01:20 +01:00
Juan Linietsky
920db604d2
Rewrote large part of rendering, omni and spot shadows now work.
2020-02-11 12:01:18 +01:00
Juan Linietsky
449df8f688
Base 3D engine done, still untested, though.
2020-02-11 11:59:25 +01:00
Juan Linietsky
50e9befb88
Changes to material required to add custom shaders in RD renderer
2020-02-11 11:53:28 +01:00
Juan Linietsky
9b0dd4f571
A lot of progress with canvas rendering, still far from working.
2020-02-11 11:53:27 +01:00
Juan Linietsky
3f335ce3d4
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
2020-02-11 11:53:26 +01:00
Duroxxigar
383c583a0b
Documented the new NavigationServer and all its associated nodes (2D and 3D)
2020-02-10 15:24:06 +01:00
Andrea Catania
e6be3f68da
- Integrated NavigationServer and Navigation2DServer.
...
- Added Navigation Agents and Obstacles.
- Integrated Collision Avoidance.
This work has been kindly sponsored by IMVU.
2020-02-10 14:38:52 +01:00
Rémi Verschelde
d617df5f34
Merge pull request #36048 from AndreaCatania/SoftBodyStiff
...
Make softbody completelly stiff to attachment point
2020-02-09 16:05:19 +01:00
Andrea Catania
ca7ee56759
Make softbody completelly stiff to attachment point
2020-02-09 10:18:11 +01:00
Andrea Catania
374432d074
Added feature to move physical bones with skeleton when not simulating physics
2020-02-08 09:52:58 +01:00
Marcel Admiraal
5af3b4ca27
Remove duplicate ERR_PRINT macro.
2020-02-05 11:13:24 +01:00
Haoyu Qiu
df3fad11fd
Fixes crash in Spatial::notification
2020-01-25 13:16:51 +08:00
Tomasz Chabora
9ad7fc3405
Allow greater values in unit_offset
2020-01-24 14:40:33 +01:00
Rémi Verschelde
37897dba80
Merge pull request #35406 from lawnjelly/ortho-shadow
...
Replace CameraMatrix::get_viewport_size with get_viewport_half_extents, shadow culling with ortho camera and other affected issues
2020-01-22 22:02:09 +01:00
lawnjelly
eaf8e5ce52
Change CameraMatrix::get_viewport_size to get_viewport_half_extents
...
Fixes #26637 .
Fixes #19900 .
The viewport_size returned by get_viewport_size was previously incorrect, being half the correct value. The function is renamed to get_viewport_half_extents, and now returns a Vector2.
Code which called this function has also been modified accordingly.
This PR also fixes shadow culling when using ortho cameras, because the correct input for CameraMatrix::set_orthogonal should be the full HEIGHT from get_viewport_half_extents, and not half the width.
It also fixes state.ubo_data.viewport_size in rasterizer_scene_gles3.cpp to be the width and the height of the viewport in pixels as stated in the documentation, rather than the current value which is half the viewport extents in worldspace, presumed to be a bug.
2020-01-22 18:22:00 +00:00
Bastiaan Olij
5cf9f4faeb
Incorrect joystick id was returned on an inactive ARVR controller
2020-01-22 18:27:32 +11:00
Rémi Verschelde
4faaf6089a
Remove unused #if 0'ed code
2020-01-21 21:41:54 +01:00
Rémi Verschelde
1de633205f
Validate input in (CPU)Particles set_emission_shape()
...
Fixes #29777 .
Co-authored-by: Cameron Reikes <cameronreikes@gmail.com>
2020-01-16 11:08:51 +01:00