summaryrefslogtreecommitdiff
path: root/modules/csg
AgeCommit message (Collapse)Author
2021-02-10Removed _change_notifyreduz
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10Make Servers truly Thread Safereduz
-Rendering server now uses a split RID allocate/initialize internally, this allows generating RIDs immediately but initialization to happen later on the proper thread (as rendering APIs generally requiere to call on the right thread). -RenderingServerWrapMT is no more, multithreading is done in RenderingServerDefault. -Some functions like texture or mesh creation, when renderer supports it, can register and return immediately (so no waiting for server API to flush, and saving staging and command buffer memory). -3D physics server changed to be made multithread friendly. -Added PhysicsServer3DWrapMT to use 3D physics server from multiple threads. -Disablet Bullet (too much effort to make multithread friendly, this needs to be fixed eventually).
2021-02-08Initialize class/struct variables with default values in modules/Rafał Mikrut
2021-01-09Use Math_TAU and deg2rad/rad2deg in more places and optimize codeAaron Franke
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-28Merge pull request #44586 from madmiraal/rename-stepifyRémi Verschelde
Rename Math::stepify to snapped
2020-12-28Merge pull request #44183 from madmiraal/box_shape-sizeRémi Verschelde
Use a size Vector for adjusting the size of Rectangles and Boxes
2020-12-28Rename Math::stepify to snappedMarcel Admiraal
2020-12-27Merge pull request #44718 from hoontee/fix-44713Rémi Verschelde
Properly handle empty CSGShapes
2020-12-27Properly handle empty CSGShapeshoontee
2020-12-08Use Vector3 instead of 3 floats for CSGBox3D dimensionsMarcel Admiraal
2020-12-04Rename EditorNode3DGizmoPlugin "get_name" to "get_gizmo_name"Aaron Franke
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-10-25Optimize SVG using `svgcleaner --multipass`Hugo Locurcio
This decreases the editor binary size by about 8 KB.
2020-08-31Merge pull request #40993 from Calinou/doc-collision-layer-maskRémi Verschelde
Reference the online documentation in collision layer/mask properties
2020-08-13Don't attempt to insert points into degenerate triangles.Marcel Admiraal
Use a simpler degenerate triangle check that calculates area.
2020-08-12Mark the first shape as inside, not the second shape, when CSG shapes areMarcel Admiraal
co-planer.
2020-08-11Merge pull request #40935 from hoontee/master-3Rémi Verschelde
Transform CSGShape collision when necessary
2020-08-11Merge pull request #40919 from hoontee/master-2Rémi Verschelde
Properly handle empty CSGCombiners
2020-08-03Reference the online documentation in collision layer/mask propertiesHugo Locurcio
See https://github.com/godotengine/godot-docs/pull/3863.
2020-08-01Transform CSGShape collision when necessaryhoontee
2020-07-31Properly handle empty CSGCombinershoontee
2020-07-30Ensure CSG parent's _make_dirty() is called when entering a tree.Marcel Admiraal
2020-07-10Add override keywords.Marcel Admiraal
2020-06-29Use is_equal_approx() instead of vertex_snap when checking if ray isMarcel Admiraal
colliding with equiplanar CSG faces.
2020-06-29Create degenerate triangles when inserting an edge into a CSG face.Marcel Admiraal
They will be deleted when the faces are merged, but their edges are needed for merging faces.
2020-06-21Check if point's index exists before adding it to the list of pointsMarcel Admiraal
that need to split faces when avoiding creating degenerate faces while merging CSG faces.
2020-05-27Split `Geometry` singleton into `Geometry2D` and `Geometry3D`Andrii Doroshenko (Xrayez)
Extra `_2d` suffixes are removed from 2D methods accoringly.
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-11Fix 'physicsw' may be used uninitialized warning in csg_shape.cppMarcel Admiraal
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-04Merge pull request #37717 from qarmin/world_fixRémi Verschelde
Change non-existent World to World3D
2020-04-29[Core] Rename linear_interpolate to lerpAaron Franke
2020-04-28Merge pull request #37163 from madmiraal/fix-csg-normalRémi Verschelde
Fix CSG vertex normal calculation.
2020-04-18Change non-existent World to World3Dqarmin
2020-04-07Rename all gizmo classes, using the 4.0 node names.jfons
2020-04-02Replace NULL with nullptrlupoDharkael
2020-03-30Merge pull request #37436 from akien-mga/doc-node-renamesRémi Verschelde
doc: Update classref with node renames
2020-03-30Fix another batch of -Wmaybe-uninitialized warningsRémi Verschelde
And simplify code in CSGShape.
2020-03-30doc: Update classref with node renamesRémi Verschelde
A few extra renames for classes which were missed in last week's PRs.
2020-03-30SCons: Format buildsystem files with psf/blackRémi Verschelde
Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
2020-03-27Renaming of servers for coherency.Juan Linietsky
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
2020-03-27Rename more 2D and 3D nodes to follow conventionRémi Verschelde
Rename editor plugins to match the new node names.
2020-03-27Renamed 2D and 3D nodes to make their types explicitJuan Linietsky
Fixes #30736.
2020-03-27Fix various -Wmaybe-uninitialized (#37352).Martin Liska
2020-03-23Adding missing include guards to header files identified by LGTM.Rajat Goswami
This addresses the issue godotengine/godot#37143
2020-03-19Fix CSG vertex normal calculation.Marcel Admiraal