Rémi Verschelde
f9d93ee819
Merge pull request #36288 from Calinou/meshlibrary-allow-non-tools-use
...
Allow using `MeshLibrary.get_item_preview()` in non-editor builds again
2020-02-27 21:10:09 +01:00
Andrea Catania
2e0fb66c6f
Renamed PlaneShape to WorldMarginShape
2020-02-27 17:45:16 +01:00
Andrea Catania
3b64ecbc4b
Renamed NavigationMeshInstance to NavigationRegion
2020-02-27 17:42:53 +01:00
Pedro J. Estébanez
18fbdbb456
Reimplement Mutex with C++'s <mutex>
...
Main:
- It's now implemented thanks to `<mutex>`. No more platform-specific implementations.
- `BinaryMutex` (non-recursive) is added, as an alternative for special cases.
- Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes.
- Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts.
- A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this.
- `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`.
- Thread-safe utilities are therefore simpler now.
Misc.:
- `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same.
- Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock).
- `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
2020-02-26 20:40:10 +01:00
Yuri Roubinsky
1e8108310a
Changed float type to int for INDEX visual shader input
2020-02-26 16:39:42 +03:00
Yuri Roubinsky
4a3d277623
Add support for integer type in visual shaders
2020-02-26 10:12:06 +03:00
Juan Linietsky
33b5c57199
Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
...
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.
Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.
For Variant, the float datatype is always 64 bits, and exposed as `float`.
We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.
Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
Yuri Roubinsky
3b0638fe1c
Changed default capsule axis to vertical
...
Co-authored-by: Hugo Locurcio <https://hugo.pro >
2020-02-23 23:18:01 +03:00
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
Rémi Verschelde
bf7d6de556
Merge pull request #36441 from YeldhamDev/tabs_unused_constants
...
Remove unused theme constants in Tab(Container)
2020-02-22 08:17:33 +01:00
Michael Alexsander
e9244c4c23
Remove unused theme constants in Tab(Container)
2020-02-22 01:24:16 -03:00
Yuri Roubinsky
7c1415b99b
Merge pull request #36421 from Chaosus/vs_sort_custom_nods
...
Refactor node processing in visual shader member dialog
2020-02-21 21:34:03 +03:00
Yuri Roubinsky
b78b37ed3f
Refactor node processing in visual shader member dialog
2020-02-21 18:34:31 +03: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
f8c87c0ac4
Merge pull request #36375 from Xrayez/pimpmaps-typos
...
Fix MIMPAMPS typos in constants throughout the engine
2020-02-20 07:00:25 +01:00
Haoyu Qiu
a7578459c2
Fixes crash when loading StreamTexture from file
2020-02-20 09:45:00 +08:00
Andrii Doroshenko (Xrayez)
fa766265a7
Fix MIMPAMPS typos in constants throughout the engine
2020-02-20 01:31:43 +02: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
Rémi Verschelde
ae99439667
Merge pull request #36317 from godotengine/revert-36182-how_to_text_file
...
Revert "Remove TextFile from public API"
2020-02-18 12:59:15 +01:00
Rémi Verschelde
77b05256d6
Revert "Remove TextFile from public API"
2020-02-18 10:35:30 +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
Yuri Roubinsky
ed05e27c81
Fix GDCLASS for Texture2D/TextureLayered
2020-02-17 08:21:10 +03:00
Hugo Locurcio
64fac9dd5d
Allow using `MeshLibrary.get_item_preview()` in non-editor builds again
...
This closes #36268 .
2020-02-17 00:07:44 +01:00
Haoyu Qiu
3584e27948
Fixes memory leak when loading StreamTexture
2020-02-16 13:22:25 +08:00
Juan Linietsky
867d073b98
Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr.
2020-02-15 08:36:04 -03:00
Handola
697b8a891e
Fix bind method set_override_exposure_enabled of CameraEffects
2020-02-14 20:05:54 +01:00
Rémi Verschelde
4a5eab05f5
Merge pull request #36182 from KoBeWi/how_to_text_file
...
Remove TextFile from public API
2020-02-14 17:41:55 +01:00
Tomasz Chabora
591cd3fd84
Remove TextFile from public API
2020-02-14 15:46:16 +01: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
Yuri Roubinsky
bc647393ba
Added virtual method to VisualShaderNodeCustom to enable high-end mark
2020-02-13 09:43:43 +03:00
Rémi Verschelde
0bdd748d34
doc: Add BaseMaterial3D strings ported from SpatialMaterial
...
Follow-up to #36135 .
2020-02-12 15:23:26 +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
Juan Linietsky
bed8980ca5
Re-implemented screen space ambient occlusion
2020-02-11 12:15:46 +01:00
Juan Linietsky
f8b5c5f063
DOF fully implemented, can be edited on the fly.
2020-02-11 12:15:26 +01:00
Juan Linietsky
f14defb6f9
WIP CameraEffects implementation (bokeh not working for now)
2020-02-11 12:15:03 +01:00
Juan Linietsky
b859e69919
-Refactored post processing, re-added glow and added a mix blend mode.
2020-02-11 12:14:21 +01:00
Juan Linietsky
acf0f6c8a7
GIProbes working.
2020-02-11 12:03:20 +01:00
Juan Linietsky
4aea9f74e6
Rewritten StreamTexture for better code reuse, added basis universal support
2020-02-11 12:02:36 +01:00
Yuri Roubinsky
ca66fec570
[Vulkan] Fix typo in shading modes
2020-02-11 12:02:24 +01:00
Juan Linietsky
bc3dbe8240
Properly working instancing, and compatibility fixing for old meshes
2020-02-11 12:01:33 +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
2d6a916835
Environment sky more or less working.
2020-02-11 12:01:05 +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
e1b3444415
Bugfixes and ability to better specify filter and repeat modes everywhere.
...
Removes antialiased flag for draw_* methods.
2020-02-11 11:53:28 +01:00
Juan Linietsky
1b4281b895
basic 2D engine is more or less working with Vulkan, including editor.
...
Still a lot to do
2020-02-11 11:53:27 +01:00
Juan Linietsky
42b44f43ee
Basic 2D engine is more or less working, needs more work for editor to be usable.
2020-02-11 11:53:27 +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
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
47f19cc776
Merge pull request #36031 from zxcvdev/fix_gpu_particles_some_devices
...
Fix undefined behavior with atan in GPU Particles
2020-02-10 08:32:10 +01:00
Aaron Franke
ef9b4ee2e2
Fix 2D CollisionShape controls pointing the wrong way
...
They now point down, matching Godot's 2D coordinate system.
2020-02-09 17:37:30 -05:00
Rémi Verschelde
51863f6e1e
Merge pull request #35808 from clayjohn/unexpose-compress-base
...
Unexpose ARRAY_COMPRESS_BASE
2020-02-09 12:54:24 +01:00
zxcvdev
3580ad6005
Fix GPU Particles
...
The special case atan(y,0) of the built-in shader function atan(y,x)
returns different results on different devices. So this commit will add
checks when the atan(y,x) function is used in ParticlesMaterial to set
the direction of GPU Particles to make sure the desired values are
returned (act as atan2(y,x)).
2020-02-09 03:41:48 +01:00
Rémi Verschelde
6b42d83ff1
Merge pull request #35950 from Chaosus/vs_scalar_uniform_range
...
Implemented hint_range for VisualShaderNodeScalarUniform
2020-02-07 20:45:40 +01:00
Yuri Roubinsky
22ad83edae
Implemented hint_range for VisualShaderNodeScalarUniform
2020-02-07 17:04:24 +03:00
Rémi Verschelde
f3726ee994
Use modules_enabled.gen.h to improve inter dependency checks
...
- Fix build with gdscript module disabled. Fixes #31011 .
- Remove unused `gdscript` compile option.
- Fix build with regex module disabled.
- Fix ImageLoaderSVG to forward declare thirdparty structs.
2020-02-07 11:50:40 +01:00
Haoyu Qiu
7a41c44be2
Completes doc for ItemList and Tree
2020-02-07 12:52:53 +08:00
Rémi Verschelde
2af3fb97f4
Merge pull request #35908 from YeldhamDev/tileset_hide_properties
...
Hide TileSet's properties from the inspector
2020-02-05 16:48:11 +01:00
Marcel Admiraal
6d69cd40bd
Add do..while(0) wrappers to macros without one.
...
- Add do..while(0) wrapper to ERR_FAIL_NULL macros.
- Add do..while(0) wrapper to ERR_FAIL_COND macros.
- Add do..while(0) wrapper to ERR_CONTINUE macros.
- Add do..while(0) wrapper to ERR_BREAK macros.
- Add do..while(0) wrapper to CRASH_COND macros.
- Add do..while(0) wrapper to ERR_FAIL macros.
- Add do..while(0) wrapper to ERR_PRINT macros.
- Add do..while(0) wrapper to WARN_PRINT macros.
- Add do..while(0) wrapper to WARN_DEPRECATED macros.
- Add do..while(0) wrapper to CRASH_NOW macros.
2020-02-05 11:19:12 +01:00
Marcel Admiraal
f0db13502a
Remove duplicate WARN_PRINT macro.
2020-02-05 11:13:24 +01:00
Marcel Admiraal
5af3b4ca27
Remove duplicate ERR_PRINT macro.
2020-02-05 11:13:24 +01:00
Michael Alexsander
5452028d55
Hide TileSet's properties from the inspector
2020-02-04 16:09:59 -03:00
Yuri Roubinsky
6e1187ad2f
Added missing '\n' in visual shader expression node code generation
2020-02-03 15:58:58 +03:00
Yuri Roubinsky
c8639a0013
Added missing '\n' in visual shader fresnel node code generation
2020-02-03 12:33:37 +03:00
Yuri Roubinsky
b0f166f0c5
Few extra formatting fixes for visual shader node generation
...
For 'If' and 'Switch' nodes
2020-02-01 17:41:49 +03:00
Yuri Roubinsky
9d8b59e86a
Added missing '\n' in visual shader custom node code generation
2020-02-01 16:25:34 +03:00
Yuri Roubinsky
45218316c9
Merge pull request #35618 from Chaosus/vs_improvements
...
Better visual shader code generation
2020-02-01 16:03:48 +03:00
Yuri Roubinsky
bfec48abf1
Better visual shader code generation
2020-02-01 15:53:02 +03:00
clayjohn
be39808b00
Unexpose ARRAY_COMPRESS_BASE
2020-01-31 16:29:46 -08:00
Yuri Roubinsky
b822da00f8
Fix canvas_item light alpha output in visual shaders
2020-01-31 19:34:34 +03:00
Rémi Verschelde
8d00dcb421
Merge pull request #35670 from clayjohn/material-flag-cache
...
Add an extra bit to material flag cache
2020-01-28 20:59:49 +01:00
clayjohn
ec4d606e07
Add an extra bit to material flag cache
2020-01-28 10:38:54 -08:00
Rémi Verschelde
50830632c9
Merge pull request #35620 from TrevorPeyton/bind-autotile-center
...
Added binding for Autotile Center
2020-01-28 10:50:09 +01:00
Yuri Roubinsky
9705d5587e
Hide "control" methods from VisualShaderNodeGroupBase
2020-01-28 10:24:59 +03:00
Yuri Roubinsky
274f1d8610
Hide "editable" property from VisualShaderNodeGroupBase public interface
2020-01-28 09:43:07 +03:00
Yuri Roubinsky
796484d761
Added missing property "size" to VisualShaderNodeGroupBase
2020-01-27 19:18:48 +03:00
Yuri Roubinsky
3479cf4b42
Removed unused method "build" from VisualShaderNodeExpression
2020-01-27 18:24:39 +03:00
TrevorPeyton
ae4fee52d5
Added binding for Autotile Center
2020-01-27 09:07:32 -05:00
Yuri Roubinsky
4912d4c6e4
Added missed bracket to VisualShaderNodeCubeMap
2020-01-27 13:09:15 +03:00
Yuri Roubinsky
4445f892d2
Fix VisualShaderNodeCubeMap generation
2020-01-27 12:17:06 +03:00
Rémi Verschelde
bb6c0d3e8b
doc: Complete documentation for VideoStreams
...
Also quick clean up of the matching C++ files.
2020-01-26 11:29:07 +01:00
Yuri Roubinsky
ce43c92208
Docs for some nodes in visual shader
...
Fix typo in `VisualShaderNodeCompare.ComparisonType` name.
2020-01-23 22:39:00 +01:00
Michael Alexsander
151f33111b
Fix TileSet shape data not updating when being set via code
2020-01-23 11:48:38 -03:00
Yuri Roubinsky
86cdccebe6
Hide "default_input_values" property in VisualShaderNode.
2020-01-23 11:18:51 +03:00
Rémi Verschelde
5127afa812
Merge pull request #35413 from akien-mga/if-0-means-couperet
...
Remove unused #if 0'ed code
2020-01-21 22:27:50 +01:00
Rémi Verschelde
4faaf6089a
Remove unused #if 0'ed code
2020-01-21 21:41:54 +01:00
Rémi Verschelde
0be64da008
Allow greater values for DynamicFont size property
...
See https://github.com/godotengine/godot/issues/22581#issuecomment-576836691 .
Not using `or_greater` as there *is* a max size value that the current
implementation can accept. If using e.g. size 6000 with
FiraSans-Regular.ttf, errors are printed due to failing asserts on a
glyph size that should be within 4096x4096 px.
2020-01-21 20:59:16 +01:00
Yuri Roubinsky
a8ab4e3357
Forbid recursive connections in visual shader
2020-01-20 18:15:45 +03:00
Haoyu Qiu
0eab15a5a9
Destroys FreeType library on load error
2020-01-20 11:00:51 +08: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
Rémi Verschelde
40f0649e5b
Fix typos with codespell
...
Using codespell 1.16.0.
See ab3bccdb78
for procedure.
2020-01-15 00:49:52 +01:00
Yuri Roubinsky
ed22a4c454
Merge pull request #33817 from Chaosus/vs_fresnel
...
Make Fresnel node in visual shaders to use default NORMAL/VIEW
2020-01-08 12:15:46 +03:00
Michael Alexsander
8b5992f665
Make possible to edit the GraphEdit's selection rect colors
2020-01-07 23:20:48 -03:00
Haoyu Qiu
3df9d187a3
Fixes crash when using Mesh::create_outline and Mesh::create_convex_shape
...
Adds a size check to the array returned by `surface_get_arrays`.
During debugging, `create_outline` also crashes when the indices size is
one (not a multiple of three). For now, just reports the error and fail
the function.
2020-01-07 16:15:14 +08:00
Haoyu Qiu
d43ad46e42
Fixes import of models as PackedScene
2020-01-07 07:21:17 +08:00