summaryrefslogtreecommitdiff
path: root/scene/3d
AgeCommit message (Collapse)Author
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-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-27Split `Geometry` singleton into `Geometry2D` and `Geometry3D`Andrii Doroshenko (Xrayez)
Extra `_2d` suffixes are removed from 2D methods accoringly.
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
2020-05-07Merge pull request #38226 from Calinou/increase-camera3d-fovRémi Verschelde
Increase the default Camera3D field of view to 75
2020-05-07Fix bug with AudioStreamPlayer3D audio positionhoontee
Applies https://github.com/godotengine/godot/commit/0c78a58b6472f704d473e0307c9ea83dfbde1811 to `AudioStreamPlayer3D::play`.
2020-05-04Merge pull request #37717 from qarmin/world_fixRémi Verschelde
Change non-existent World to World3D
2020-05-02Added missing spring enums for generic_6dof_jointBastiaan Olij
2020-05-01Merge pull request #38346 from jitspoe/master.fix_uninitialized_particle_paramRémi Verschelde
Fix custom w component being uninitialized on CPU particles.
2020-05-01Increase the default Camera3D field of view to 75Hugo Locurcio
A vertical FOV of 75 degrees is roughly equivalent to a 91 degree horizontal FOV on a 4:3 display (~107.51 degrees on 16:9), which is close to the typical default FOV used in PC games. Note that this doesn't apply to the in-editor camera which keeps its FOV to 70. This is because it doesn't display in fullscreen; its viewport only displays in the center of the editor (roughly). This means the viewport won't cover the viewer's eyes as much. Therefore, the editor camera FOV should be slightly lower to account for this. Since this changes the default value, this may break existing projects slightly. For the record, this was already done in https://github.com/godotengine/godot-demo-projects/pull/260 for the official demo projects.
2020-04-30Fix custom w component being uninitialized on CPU particles.jitspoe
(cherry picked from commit 38085f2f6982c491935a434bb45e358dbebe1714) (cherry picked from commit b9c280b73ff6a13ea490d2da0f2728bcef3038dc)
2020-04-29Merge pull request #38203 from woollysammoth/multiple-ik-bugRémi Verschelde
Fixes SkeletonIK resetting other IK poses
2020-04-29[Core] Rename linear_interpolate to lerpAaron Franke
2020-04-28Rename InputFilter back to InputRémi Verschelde
It changed name as part of the DisplayServer and input refactoring in #37317, with the rationale that input no longer goes through the main loop, so the previous Input singleton now only does filtering. But the gains in consistency are quite limited in the renaming, and it breaks compatibility for all scripts and tutorials that access the Input singleton via the scripting language. A temporary option was suggested to keep the scripting singleton named `Input` even if its type is `InputFilter`, but that adds inconsistency and breaks C#. Fixes godotengine/godot-proposals#639. Fixes #37319. Fixes #37690.
2020-04-25Resets global pose of IK chain bones being solved, rather than the whole ↵Sam
skeleton. Resolves #38026
2020-04-23Merge pull request #38109 from nekomatata/mesh-instance-active-materialRémi Verschelde
Fix get_active_material when a material is directly set on the mesh
2020-04-22Fix get_active_material when a material is directly set on the meshPouleyKetchoupp
Makes MeshInstance3D::get_active_material consistent with the logic in the rendering system. Fixes #38108
2020-04-21Add proper type to most public API uses of ArrayJuan Linietsky
2020-04-20Fix more GCC -Wmaybe-uninitialized warningsRémi Verschelde
Fixes #38005.
2020-04-20doc: Sync classref with current sourceRémi Verschelde
Add missing enum bindings.
2020-04-18Change non-existent World to World3Dqarmin
2020-04-17Merge pull request #37949 from reduz/implement-global-shader-uniformsRémi Verschelde
Implement global and per instance shader uniforms.
2020-04-17Merge pull request #37964 from AndreaCatania/AndreaCatania-patch-2Rémi Verschelde
Activate Physics Process in SpringArm3D.
2020-04-17Implement global and per instance shader uniforms.Juan Linietsky
Adds two keywords to shader language for uniforms: -'global' -'instance' This allows them to reference values outside the material.
2020-04-17Activate Physics Process in SpringArm3D.Andrea Catania
2020-04-15Merge pull request #37914 from clayjohn/VULKAN-decal-fixRémi Verschelde
Fix texture check in decal setup
2020-04-15Fix texture check in decal setupclayjohn
2020-04-15Run SpringArm3D's process within physics.Marcel Admiraal
2020-04-15Merge pull request #37896 from NutmegStudio/decal-enum-constant-fixRémi Verschelde
Change DecalTexture bind from BIND_CONSTANT to BIND_ENUM_CONSTANT
2020-04-15Change DecalTexture bind from BIND_CONSTANT to BIND_ENUM_CONSTANTNutmegStudio
2020-04-15Fix typo in light3d (Texture -> Texture2D)NutmegStudio
2020-04-14Merge pull request #37887 from reduz/implement-projectorsRémi Verschelde
Add support for projectors in spot and omni lights.
2020-04-14Add support for projectors in spot and omni lights.Juan Linietsky
2020-04-14Merge pull request #37316 from nekomatata/physical-bone-settingsRémi Verschelde
Add PhysicalBone rotation, damping, axis lock & can sleep
2020-04-14Merge pull request #37861 from reduz/implement-decalsRémi Verschelde
Implement decals