summaryrefslogtreecommitdiff
path: root/modules/csg/csg_shape.cpp
AgeCommit message (Collapse)Author
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 #44183 from madmiraal/box_shape-sizeRémi Verschelde
Use a size Vector for adjusting the size of Rectangles and Boxes
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-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-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-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-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-02Replace NULL with nullptrlupoDharkael
2020-03-30Fix another batch of -Wmaybe-uninitialized warningsRémi Verschelde
And simplify code in CSGShape.
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-27Renamed 2D and 3D nodes to make their types explicitJuan Linietsky
Fixes #30736.
2020-03-27Fix various -Wmaybe-uninitialized (#37352).Martin Liska
2020-03-19Fix CSG vertex normal calculation.Marcel Admiraal
2020-03-17Style: Set clang-format Standard to Cpp11Rémi Verschelde
For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
2020-02-28Signals: Port connect calls to use callable_mpRémi Verschelde
Remove now unnecessary bindings of signal callbacks in the public API. There might be some false positives that need rebinding if they were meant to be public. No regular expressions were harmed in the making of this commit. (Nah, just kidding.)
2020-02-25Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.Juan Linietsky
- Renames PackedIntArray to PackedInt32Array. - Renames PackedFloatArray to PackedFloat32Array. - Adds PackedInt64Array and PackedFloat64Array. - Renames Variant::REAL to Variant::FLOAT for consistency. Packed arrays are for storing large amount of data and creating stuff like meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of memory. That said, many users requested the ability to have 64 bits packed arrays for their games, so this is just an optional added type. For Variant, the float datatype is always 64 bits, and exposed as `float`. We still have `real_t` which is the datatype that can change from 32 to 64 bits depending on a compile flag (not entirely working right now, but that's the idea). It affects math related datatypes and code only. Neither Variant nor PackedArray make use of real_t, which is only intended for math precision, so the term is removed from there to keep only float.
2020-02-20Reworked signal connection system, added support for Callable and Signal ↵Juan Linietsky
objects and made them default.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-11Modernized default 3D material, fixes material bugs.Juan Linietsky
2020-01-01Update copyright statements to 2020Rémi Verschelde
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.
2019-09-25Merge pull request #32051 from qarmin/some_error_explanationRémi Verschelde
Added some obvious errors explanations
2019-09-25Added some obvious errors explanationsqarmin
2019-07-10Notify changes in properties that can be edited by 3D gizmosHugo Locurcio
This makes the Inspector always display an up-to-date value after editing properties using 3D gizmos.
2019-07-06Added release function to PoolVector::Access.Ibrahn Sahir
For clarity, assign-to-release idiom for PoolVector::Read/Write replaced with a function call. Existing uses replaced (or removed if already handled by scope)
2019-07-05Improve the CSG shape gizmo drawingHugo Locurcio
The gizmo colors now depend on the operation. Subtraction will result in an inverted gizmo color, whereas intersection is now displayed as white. A solid translucent overlay is now drawn over a selected node to make it easier to distinguish.
2019-06-20Fix always true/false valuesqarmin
2019-05-17Resolve: #24682 CSGPolygon - weird end capJason
2019-04-11CSGMesh material and CSGShape inherits from GeometryInstanceLeonard Meagher
I left the material on CSGMesh because GeometryInstance's material override prevents the normal material behaviour of the csg meshes but the material_override is useful, and now you can control the shadow, lod and other properties you get from GeometryInstance
2019-03-25Apply proper offset to CSGMesh material and smooth groupLeonard
2019-02-10Fix CSGShape not updating on changing visibilityAndrii Doroshenko (Xrayez)
Hiding CSGShape should force the CSG operation to skip it which is intented behaviour according to how CSGBrush is created for each shape.
2019-01-27Make CSG Shape work with GIProbe, fixes #20465Juan Linietsky
2019-01-16Fix some errors found by static analysisRémi Verschelde
Fixes items 10, 16 and 19 from PVS-Studio blog post in #24014.
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-15Add support for collision layers and masks in CSG shapesmeditator
2018-12-08Reverse bitangent on everythings to ensure default normal map behavriour is ↵Bastiaan Olij
consistent
2018-12-03Fix csgshape collider without object idAron Castro
2018-11-20Merge pull request #23760 from BastiaanOlij/fix_tangent_directionRémi Verschelde
Fixing tangent and binormal logic