Commit Graph

1576 Commits

Author SHA1 Message Date
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
Rémi Verschelde 24281cd9c9
Merge pull request #34865 from volzhs/oversampling-emoji
Update size and position for colored font with oversampling
2020-01-06 18:32:24 +01:00
volzhs e03ac8c618 Update size and position for colored font with oversampling 2020-01-07 02:15:23 +09:00
Rémi Verschelde ce75a2f33d
Merge pull request #33987 from nekomatata/own-world-environment
Viewport environment is updated properly when set to own world
2020-01-06 15:26:52 +01:00
Rémi Verschelde f5d1177fcb
Merge pull request #34303 from Chaosus/fix_texture_crash
Fixed crash if passing invalid image ref to TextureLayered
2020-01-06 14:21:20 +01:00
Rémi Verschelde 8aea5decc6
Merge pull request #34020 from gytsen/unify-pack-version
PCK: Set VERSION_PATCH in header, factor out header magic
2020-01-06 14:04:55 +01:00
Rémi Verschelde 080e6e48ad
Merge pull request #34829 from timothyqiu/checks-bundle
Fixes crash for bad property of PackedScene
2020-01-06 13:43:38 +01:00
Joost Heitbrink dc61323b2c PCK: Set VERSION_PATCH in header, factor out header magic
Unify pack file version and magic to avoid hardcoded literals.

`version.py` now always includes `patch` even for the first release in
a new stable branch (e.g. 3.2). The public name stays without the patch
number, but `Engine.get_version_info()` already included `patch == 0`,
and we can remove some extra handling of undefined `VERSION_PATCH` this
way.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-01-06 13:13:17 +01:00
PouleyKetchoupp a7a025531b Fixed StyleBoxFlat antialiasing with aa size of 1
Also made aa size consistent when computing uv coordinates and fixed a warning about aa_border_width not initialized in some cases.

fixes #34830
2020-01-05 10:54:24 +01:00
Haoyu Qiu 4b660a87d8 Fixes crash for bad property of PackedScene 2020-01-05 11:13:29 +08:00
Hugo Locurcio ac3087eb4b
Don't connect ShaderMaterial's `changed` signal when not in the editor
This closes #34741.
2020-01-02 17:20:54 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Michael Alexsander fd2c181a35 Revert "Merge pull request #34315 from YeldhamDev/editor_theme_optionbutton_arrow"
This reverts commit 0da0eec6cc, reversing
changes made to ec97535ea3.
2019-12-28 14:16:51 -03:00
Rémi Verschelde 0df1122acc
Merge pull request #34488 from nekomatata/style_box_flat_aa
Fixed StyleBoxFlat border size with aa on
2019-12-22 12:31:19 +01:00
PouleyKetchoupp 6ffbd36e3d Fixed StyleBoxFlat border size with aa on
The different Rect used to draw rings were wrongly calculated when anti-aliasing was enabled. Also getting rid of some overlapping glitches when using transparent colors for the filling or borders.

Fixes #34104
2019-12-20 13:29:43 +01:00
Haoyu Qiu e7e095da3f Encodes property names properly in project.godot 2019-12-20 10:42:08 +08:00
Rémi Verschelde 389b7939bf
Merge pull request #34356 from Calinou/styleboxflat-lower-max-corner-detail
Lower the maximum StyleBoxFlat corner detail to 20
2019-12-15 11:41:00 +01:00
Hugo Locurcio 324e02596f
Lower the maximum StyleBoxFlat corner detail to 20
This value should be sufficient even for very large corner radii.

This closes #34354.
2019-12-14 23:35:01 +01:00
Michael Alexsander af67e97445 Remove unused theme elements in H/VSlider 2019-12-13 21:17:51 -03:00
Rémi Verschelde 1cd736951a
Merge pull request #34189 from aaronfranke/mesh-aabb
Expose Mesh get_aabb
2019-12-13 09:14:16 +01:00
Yuri Roubinsky f3ea2a0267 Fixed crash if passing invalid image ref to TextureLayered 2019-12-12 14:15:39 +03:00
Yuri Roubinsky 57441ab2c6 Added missed enum constant VisualShaderNodeTexture::SOURCE_PORT 2019-12-12 12:05:54 +03:00
Aaron Franke a139104646
Expose Mesh get_aabb 2019-12-11 08:25:36 -05: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 3b80eb06b7 Don't store index of root nodes 2019-12-05 01:18:48 +01:00
PouleyKetchoupp dc13750189 Viewport environment is updated properly when set to own world
When own_world property is set, the viewport stores a unique resource for the world. With this change it keeps being updated from changes made to the world property instead of storing a default empty world with environment settings that can't be modified.

Fixes #23412
2019-11-29 11:50:10 +01:00
Hugo Locurcio 639c9b3a35
Only display Environment sky rotation in degrees in the Inspector
This makes it consistent with Spatial.
2019-11-26 18:57:29 +01:00
clayjohn 85dba0c09d Fix bug where specularmode disabled is not cached 2019-11-25 07:36:07 -08:00
PouleyKetchoupp 1120de862d StyleBox preview adjusted to fit all drawn content
This change allows StyleBox preview to take shadows and content margins into account to display how a whole panel would be rendered.

The preview control clips contents so that in any case it doesn't bleed on controls around.

Fixes #33801
2019-11-24 16:26:30 +01:00
Yuri Roubinsky 7abb09ecf4 Makes Fresnel node in visual shaders to use default NORMAL/VIEW 2019-11-22 18:28:59 +03:00
Rafał Mikrut 99d8626f4a Fix some overflows and unitialized variables 2019-11-20 16:22:16 +01:00
Rémi Verschelde 0a96235b44
Merge pull request #33683 from clayjohn/material-texture-bug
Properly update texture when roughness/metallic set
2019-11-17 21:48:00 +01:00
clayjohn 2bc6302607 Properly update texture when roughness/metallic set 2019-11-17 11:11:25 -08:00
PouleyKetchoupp 2511f275b9 StyleBoxFlat doesn't draw content when width or height is zero
Causes unnecessary computations and drawing, and a division by zero when calculating uv coordinates.

This case happened with ScriptEditor's member overview (ItemList), initialized with a minimum width of 0.

Fixes #33634
2019-11-17 15:38:05 +01:00
Rémi Verschelde 2143f46df2
Merge pull request #33516 from qarmin/small_fixes
Memory leaks and crash fixes
2019-11-10 10:17:19 +01:00
Rémi Verschelde e711534c46
Merge pull request #33452 from Chaosus/fix_tilemap
Fix incorrect offset for old-format tilemaps
2019-11-10 10:10:29 +01:00
Rafał Mikrut 7dda9309f9 Memory leak and crash fixes 2019-11-10 09:49:13 +01:00
Rémi Verschelde 0bfd06a911
Merge pull request #33465 from rxlecky/list-theme-resources-fix
Fix functions listing all theme resources
2019-11-09 18:23:49 +01:00
rxlecky 80b9c8e950 Fix functions listing all theme resources
Fix functions get_<resource>_list in Theme currently returning vector
of double-the-necessary size with the first half completely empty.
2019-11-09 11:56:55 +00:00
Rémi Verschelde 60d4909048
Merge pull request #33431 from Kaonnull/bugParticles2D_2
Fixed the particles2D prematurely animation ending
2019-11-09 07:40:07 +01:00