Commit graph

1107 commits

Author SHA1 Message Date
Jesse Dubay
1b9d26765f Allow constructing larger data types by swizzling
GLSL allows the construction of larger data types by swizzling smaller
ones, but Godot shading language treated this as an error:

  vec2 test2 = vec2(0.0, 1.0);
  vec3 test3 = test2.xxx; // error: Invalid member for vec2 expression

This commit updates the expression parser for the 2 and 3-component data
types accordingly.

Fixes #10496
2019-05-11 11:01:09 -07:00
Aaron Franke
702b539405
Change "ID" to lowercase "id"
Reasoning: ID is not an acronym, it is simply short for identification, so it logically should not be capitalized. But even if it was an acronym, other acronyms in Godot are not capitalized, like p_rid, p_ip, and p_json.
2019-05-09 06:25:32 -04:00
Rémi Verschelde
262924296b
Merge pull request #27415 from aqnuep/kinematicbody_fixes
KinematicBody performance and quality improvements
2019-05-02 18:03:58 +02:00
Rémi Verschelde
dd2cd06165
Merge pull request #25670 from aqnuep/bake_mode_affect_gi_prove
Disable GI probe capturing lights with bake mode disabled
2019-04-30 18:33:34 +02:00
LATRio
0562b78f40 Properly expose PhysicsServer methods 2019-04-30 20:42:07 +09:00
Rémi Verschelde
0327d57cfd
Merge pull request #27007 from BastiaanOlij/arvr_notifications
Send notifications to ARVRInterfaces
2019-04-30 12:05:46 +02:00
Rémi Verschelde
f40c62fa29
Merge pull request #27371 from ShyRed/fixdisabled2dcollisions
Allow adding disabled shapes
2019-04-30 11:43:11 +02:00
Rémi Verschelde
18e88c8563
Merge pull request #18992 from aaronfranke/mono-equal-approx
[Core] [Mono] Improve and use approximate equality methods
2019-04-29 10:16:46 +02:00
Juan Linietsky
c2027c8233 Added functions to further improve music timing 2019-04-27 14:05:16 -03:00
Juan Linietsky
af9bb0ea15 Clean up latency related functions 2019-04-27 12:23:05 -03:00
Bastiaan Olij
1a1b35721a Send notifications to ARVRInterfaces 2019-04-27 08:39:21 +10:00
Aaron Franke
b659e1eb2b
Use approximate equallity methods in many places 2019-04-25 13:20:29 -04:00
ShyRed
a9d4cde0f5 Allow adding disabled shapes
Adds the ability to directly add disabled shapes to a collision object. Before this commit a shape has always been assumed to be enabled and had to be disabled in an extra step.
2019-04-23 18:06:48 +02:00
Daniel Rakos
de33ef2d1b Disable GI probe capturing lights with bake mode disabled
The bake mode property of lights previously didn't affect GI probes.
This change makes the GI probe ignore lights that have their bake mode
set to disabled.
2019-04-23 11:36:36 +02:00
Hein-Pieter van Braam
5d33f241f0
Merge pull request #26064 from JFonS/add_frustum_camera_mode
Add FRUSTUM camera mode, allowing tilted frustums
2019-04-23 06:20:13 +03:00
Hein-Pieter van Braam-Stewart
c52f890626 Don't try to statically allocate 2x 8193 pointers
Maximum stack size is only 8KiB, this will try to allocate 8193 *
sizeof(void*) * 2 = 131088 bytes on the stack. This causes a crash in
some cases.
2019-04-22 15:27:10 +02:00
Rémi Verschelde
a342131eba
Merge pull request #27673 from qarmin/small_fixes
Small fixes, mostly duplicated code
2019-04-22 12:00:34 +02:00
Rémi Verschelde
1120b0b2d3
Merge pull request #28200 from bojidar-bg/28115-ysort-breaks-shader
Fix nested YSort breaking "Use parent material"
2019-04-19 21:15:19 +02:00
Juan Linietsky
04847ef5f9 Added ability for multiple images to be imported as an atlas
This adds support for groups in the import system, which point to a single file.
Add property hint for saving files in file field
2019-04-19 15:56:34 -03:00
Bojidar Marinov
dd9bb6f186
Fix nested YSort breaking use_parent_material
Fixes #28115
2019-04-19 16:18:01 +03:00
Fabio Alessandrelli
d0f2b5c8ab Bind AudioEffectSpectrumAnalyzer::FFT_Size enums 2019-04-16 18:00:19 +02:00
Juan Linietsky
e33764744c Added generator audio stream, and spectrum analyzer audio effect
Made AudioFrame and Vector2 equivalent for casting.
Added ability to obtain the playback object from stream players.
Added ability to obtain effect instance from audio server.
2019-04-10 12:58:06 -03:00
Rémi Verschelde
5772f60f96
Merge pull request #27843 from bojidar-bg/27678-ysort-visibility
Do not YSort canvas items that are not visible
2019-04-09 17:15:27 +02:00
Rémi Verschelde
c8994b56f9 Style: Apply new changes from clang-format 8.0
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Bastiaan Olij
e0b703e3fe Added eye_height, changed description and fixed size of viewport issue 2019-04-10 01:11:17 +10:00
Bojidar Marinov
11e62cdc79
Do not YSort canvas items that are not visible
Fixes an issue with nested YSorts not regarding visibility
2019-04-09 15:49:38 +03:00
Rémi Verschelde
a994db62df
Merge pull request #27644 from lupoDharkael/bus
Allow default audio bus layout modification
2019-04-08 11:06:35 +02:00
qarmin
856a8226a5 Small fixes, mostly dupicated code 2019-04-08 11:03:37 +02:00
Rémi Verschelde
4942e96897
Merge pull request #27527 from BastiaanOlij/render_ext_target
Add option to have viewport render into supplied texture (VR)
2019-04-07 11:11:50 +02:00
Rémi Verschelde
35f06eb437
Merge pull request #25630 from BastiaanOlij/arvr_positional_mesh
Added a mesh interface to the arvr positional trackers
2019-04-07 11:09:21 +02:00
Rémi Verschelde
3b697ce8d5
Merge pull request #26486 from marxin/fix-Wdeprecated-copy
Fix new GCC 9 warnings: -Wdeprecated-copy.
2019-04-06 18:21:18 +02:00
Rémi Verschelde
2db0613fb0
Merge pull request #25624 from nekomatata/texture-rect-flip
Add ability to flip TextureRect horizontally or vertically
2019-04-06 13:15:01 +02:00
Bastiaan Olij
8349d4fbd9 Add option to have viewport render into supplied texture 2019-04-06 08:24:58 +11:00
lupoDharkael
650b698f51 Allow default audio bus layout modification 2019-04-05 17:19:25 +02:00
Juan Linietsky
19a6a6286a Ability to make CanvasLayers have pseudo 3D depth. 2019-04-05 10:25:51 -03:00
PouleyKetchoupp
8b84638322 Add ability to flip TextureRect horizontally or vertically 2019-04-03 13:05:29 +02:00
ShyRed
96093778ed Remove hardcoded joint bias
Use user provided bias instead of hardcoded bias.
2019-03-27 19:21:07 +01:00
Daniel Rakos
6dd65c0d67 KinematicBody performance and quality improvements
With this change finally one can use compound collisions (like those created
by Gridmaps) without serious performance issues. The previous KinematicBody
code for Bullet was practically doing a whole bunch of unnecessary
calculations. Gridmaps with fairly large octant sizes (in my case 32) can get
up to 10000x speedup with this change (literally!). I expect the FPS demo to
get a fair speedup as well.

List of fixes and improvements:

- Fixed a general bug in move_and_slide that affects both GodotPhysics and
  Bullet, where ray shapes would be ignored unless the stop_on_slope parameter
  is disabled. Not sure where that came from, but looking at the 2D physics
  code it was obvious there's a difference.
- Enabled the dynamic AABB tree that Bullet uses to allow broadphase collision
  tests against individual shapes of compound shapes. This is crucial to get
  good performance with Gridmaps and in general improves the performance
  whenever a KinematicBody collides with compound collision shapes.
- Added code to the broadphase collision detection code used by the Bullet
  module for KinematicBodies to also do broadphase on the sub-shapes of
  compound collision shapes. This is possible thanks to the dynamic AABB
  tree that was previously disabled and it's the change that provides the
  biggest performance boost.
- Now broadphase test is only done once per KinematicBody in Bullet instead of
  once per each of its shapes which was completely unnecessary.
- Fixed the way how the ray separation results are populated in Bullet which
  was completely broken previously, overwriting previous results and similar
  non-sense.
- Fixed ray shapes for good now. Previously the margin set in the editor was
  not respected at all, and the KinematicBody code for ray separation was
  complete bogus, thus all previous attempts to fix it were mislead.
- Fixed an obvious bug also in GodotPhysics where an out-of-bounds index was
  used in the ray result array.

There are a whole set of other problems with the KinematicBody code of Bullet
which cost performance and may cause unexpected behavior, but those are not
addressed in this change (need to keep it "simple").

Not sure whether this fixes any outstanding Github issues but I wouldn't be
surprised.
2019-03-27 00:39:47 +01:00
Windy Darian
ff318d91ee Fix bone aabb calculation, which caused a skeletal mesh culling issue
There was a bug that could result in most bone aabb boxes ending up with
tiny size upon import and mess up with culling of skeletal meshes. This
fixes it.
2019-03-14 00:35:53 -04:00
Rémi Verschelde
6c2283b2d4
Merge pull request #26660 from marxin/fix-25639-audio-negative-shift
Fix #25639 by not shifting a negative value.
2019-03-05 23:10:02 +01:00
marxin
c24f53d4f6 Fix #25639 by not shifting a negative value. 2019-03-05 21:32:18 +01:00
marxin
0e781aeacb Fix #25641 by not shifting a negative value. 2019-03-05 21:18:46 +01:00
Rémi Verschelde
453d239a69
Merge pull request #26532 from aqnuep/texture_array_fixes
Fixed TextureArray and Texture3D issues
2019-03-04 15:09:11 +01:00
Juan Linietsky
34dd772054 Properly redraw if something animated is visible 2019-03-03 13:43:54 -03:00
Daniel Rakos
582f62c2b2 Fixed TextureArray and Texture3D issues
- Texture arrays and 3D textures weren't working previously due to an
  incorrect number of calls to glTexImage3D with incorrect level parameters.
  This change fixes that.
- Fixed the incorrect calculation of the byte size of layered textures.
- Added the layer count to the debugger info when viewing video memory usage.
2019-03-03 16:40:48 +01:00
Juan Linietsky
2f32a75d2e Skeletons can now choose between using local or world coords for processing, fixes #26468 2019-03-03 12:24:00 -03:00
Rémi Verschelde
467f18b738 Fix style issues from recent commits 2019-03-03 12:45:20 +01:00
Rémi Verschelde
56520d7bd6
Merge pull request #26505 from marcelofg55/input_buffer_crashfix
Fix possible crash on AudioDriver::input_buffer_write
2019-03-02 23:51:24 +01:00
Marcelo Fernandez
f529649cec Fix possible crash on AudioDriver::input_buffer_write 2019-03-02 19:41:45 -03:00
Juan Linietsky
1b8f56c099 Clean up and fix some situations where triangulation may fail, closes #26366 2019-03-02 12:04:24 -03:00