summaryrefslogtreecommitdiff
path: root/scene/3d
AgeCommit message (Collapse)Author
2020-09-06Implement manual particle emission and particle sub emitters.reduz
2020-09-04Ensure assignment operators return by reference to avoid unnecessary copies.Marcel Admiraal
2020-09-03Merge pull request #41044 from hoontee/master-4Rémi Verschelde
Implement CollisionShape3D.make_convex_from_siblings()
2020-08-31Reorder sprite h_frames & v_framesJonathan Vice
2020-08-23Ensure node's area tree signals are disconnected when clearing monitoring,Marcel Admiraal
even if nodes are no longer in the tree.
2020-08-13Added volumetric fog effect.Juan Linietsky
2020-08-09Fix 2D Particle velocity with directed emission maskPouleyKetchoupp
Changed CPU velocity calculation for EMISSION_SHAPE_DIRECTED_POINTS to follow the same logic as in the GPU version: mat2 rotm; rotm[0] = texelFetch(emission_texture_normal, emission_tex_ofs, 0).xy; rotm[1] = rotm[0].yx * vec2(1.0, -1.0); VELOCITY.xy = rotm * VELOCITY.xy; Now both CPUParticles2D & CPUParticles3D (z disabled) show the same results as their GPU counterparts and take the initial velocity settings into account.
2020-08-05Implement CollisionShape3D.make_convex_from_siblings()hoontee
2020-07-27Fixed reload_goal not being called when SkeletonIK3D::start is invoked with ↵ConorLPBoyle
p_one_time = true
2020-07-24Remove multilevel callsGeorge Marques
In general they are more confusing to users because they expect inheritance to fully override parent methods. This behavior can be enabled by script writers using a simple super() call.
2020-07-21Merge pull request #40450 from asmaloney/spellingRémi Verschelde
Fix spelling & grammar in comments, docs, and messages
2020-07-21Fix spelling & grammar in comments, docs, and messagesAndy Maloney
2020-07-21Add Method get_inverse_inertia_tensorYerik
2020-07-14Properly pass safe margin on initialization.Juan Linietsky
Fixes jitter.
2020-07-10Add override keywords.Marcel Admiraal
2020-07-08Fix repeated updates of PathFollow3D TransformMaganty Rushyendra
Add optional parameter to specify whether applying rotation to the PathFollow3D's Transform is necessary, preventing erroneous updates.
2020-07-02Merge pull request #37350 from aaronfranke/force-impulseRémi Verschelde
Refactor physics force and impulse code to use (force, position) order
2020-07-01Merge pull request #40016 from akien-mga/environment-code-cleanupRémi Verschelde
Environment: Refactor code for readability + more
2020-07-01Merge pull request #36307 from Xrayez/raycast-enabled-trueRémi Verschelde
Enable raycast nodes by default
2020-07-01Environment: Refactor code for readability + moreRémi Verschelde
- Makes all boolean setters/getters consistent. - Fixes bug where `glow_hdr_bleed_scale` was not used. - Split CameraEffects to their own source file. - Reorder all Environment method and properties declarations, definitions and bindings to be consistent with each other and with the order of property bindings. - Bind missing enum values added with SDFGI. - Remove unused SDFGI enhance_ssr boolean. - Sync doc changes after SDFGI merge and other misc changes.
2020-06-27Call Node3D::get_global_transform and Vector3::dot only once within ↵Adam Reichold
Camera3D::is_position_behind to avoid redundant work.
2020-06-26Addition of SDFGI for open world global illuminationJuan Linietsky
Move GI to a deferred pass
2020-06-21Check for motion in cast_motion() before doing Bullet convexSweepTest().Marcel Admiraal
Also ensure that default closest_safe and closest_unsafe values are defined in cast_motion() and before cast_motion() is called.
2020-06-19Merge pull request #38932 from Calinou/increase-light3d-shadow-biasRémi Verschelde
Increase the default DirectionalLight3D and OmniLight3D shadow biases
2020-06-16Merge pull request #36079 from madmiraal/fix-35744Rémi Verschelde
Normalise p_up_direction vector in move_and_slide()
2020-06-16Normalise p_up_direction vector in move_and_slide() andMarcel Admiraal
move_and_slide_with_snap() and fix tolerance in move_and_slide_with_snap() max floor angle.
2020-06-16Merge pull request #39126 from TwistedTwigleg/GSOC_2020_Working_BranchRémi Verschelde
Skeleton and Skeleton inspector low-level changes
2020-06-15Made low level changes to the Skeleton3D class and Skeleton3D inspector. ↵TwistedTwigleg
Changes listed below: * Added helper functions to Skeleton3D for converting transforms from bone space to global space, and vice versa. * Updated the Skeleton3D class reference. * Changed the icon used for bones in the Skeleton3D inspector to use BoneAttachement3D's icon. * Changed the Skeleton3D inspector to use EditorPropertyTransform and EditorPropertyVector3 when possible. * Placed the Transform/Matrix for each bone in a sub-section, so it is visually similar to the Node3D inspector.
2020-06-12Object: Add usage hint to instantiate Object properties in editorRémi Verschelde
Fixes #36372 as Path2D/Path3D's `curve` property no longer uses a Curve instance as default value, but instead it gets a (unique) default Curve instance when created through the editor (CreateDialog). ClassDB gets a sanity check to ensure that we don't do the same mistake for other properties in the future, but instead use the dedicated property usage hint. Fixes #36372. Fixes #36650. Supersedes #36644 and #36656. Co-authored-by: Thakee Nathees <thakeenathees@gmail.com> Co-authored-by: simpuid <utkarsh.email@yahoo.com>
2020-06-02Refactor physics force and impulse codeAaron Franke
2020-06-01Add performance hints to the DirectionalLight shadow mode property hintHugo Locurcio
This also clarifies some parts in the DirectionalLight documentation.
2020-05-29Merge pull request #39051 from Xrayez/geometry-splitRémi Verschelde
Split `Geometry` singleton into `Geometry2D` and `Geometry3D`
2020-05-27Enable raycast nodes by defaultAndrii Doroshenko (Xrayez)
2020-05-27Split `Geometry` singleton into `Geometry2D` and `Geometry3D`Andrii Doroshenko (Xrayez)
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-23Increase the default DirectionalLight3D and OmniLight3D shadow biasesHugo Locurcio
This should decrease the amount of visible shadow acne by default.
2020-05-22Custom Skeleton3DEditorPluginK. S. Ernest (iFire) Lee
Co-authored-by: Marios Staikopoulos <marios@staik.net>
2020-05-19Fixed kinematic body axis lockAndrea Catania
2020-05-19Style: Fix unnecessary semicolons that confused clang-formatRémi Verschelde
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-14Style: Fix missing/invalid copyright headersRémi Verschelde
2020-05-14Remove redundant void argument listsRémi Verschelde
Using clang-tidy's `modernize-redundant-void-arg`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-05-12doc: Sync classref with current sourceRémi Verschelde
Adds API changes from the new GPU lightmapper.
2020-05-10New lightmapperJuan Linietsky
-Added LocalVector (needed it) -Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too) -Fixes and changes all around the place -Added library for 128 bits fixed point (required for Delaunay3D)
2020-05-10Revert "Renamed plane's d to distance"Rémi Verschelde
This reverts commit ec7b481170dcd6a7b4cf0e6c1221e204ff7945f3. This was wrong, `d` is not a distance but the `d` constant in the parametric equation `ax + by + cz = d` describing the plane.
2020-05-10Style: clang-format: Disable AllowShortCaseLabelsOnASingleLineRémi Verschelde
Part of #33027.
2020-05-10Style: clang-format: Disable AllowShortIfStatementsOnASingleLineRémi Verschelde
Part of #33027, also discussed in #29848. Enforcing the use of brackets even on single line statements would be preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10Renamed plane's d to distanceMarcus Elg