summaryrefslogtreecommitdiff
path: root/scene/resources/primitive_meshes.cpp
AgeCommit message (Collapse)Author
2022-07-04Use custom key structs, instead of raw hashes for the Label3D and TextMesh, ↵bruvzg
to avoid potential hash collisions.
2022-06-22Fix CapsuleMesh loading issue (radius reset)tefusion
2022-06-20Clean up Hash Functionsreduz
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934 * Clean up usage of murmur3 * Fixed usages of binary murmur3 on floats (this is invalid) * Changed DJB2 to use xor (which seems to be better)
2022-06-11Add suffixes to all nodes and resourcesFireForge
2022-05-25Merge pull request #61355 from bruvzg/text_mesh_fix_fill_alignRémi Verschelde
[TextMesh] Fix incorrectly applied FILL alignment.
2022-05-24Tweak TextMesh decomposition error message to mention self-intersecting linesHugo Locurcio
2022-05-24[TextMesh] Fix incorrectly applied FILL alignment.bruvzg
2022-05-24Merge pull request #61203 from Calinou/cylindermesh-add-cap-propertiesRémi Verschelde
Add properties to disable top/bottom cap generation in CylinderMesh
2022-05-23Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git.
2022-05-23[TextMesh] Do not generate meshes for non-visual glyphs.bruvzg
2022-05-22[TextMesh] Fix cubic cubic Bezier arc processing.bruvzg
2022-05-21Add properties to disable top/bottom cap generation in CylinderMeshHugo Locurcio
2022-05-19Use suffixes for units in nodes and resourcesAaron Franke
2022-05-13Implement TextMesh resource.bruvzg
Apply simulated slant and embolden to the TextServer `gont_get_glyph_contours` results.
2022-05-03Merge pull request #58777 from Sauermann/fix-capsulemesh-tangentRémi Verschelde
Reverse tangents of capsule mesh
2022-04-08Fix navmesh bakingPawel Lampe
- improved mesh data calculation from standalone static colliders so that no VisualServer calls are performed - and thus no VS mutexes need to be locked in case of on-thread baking - improved the same for GridMap's static colliders
2022-03-10Discern between virtual and abstract class bindingsreduz
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract". * Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions. * Converted a large amount of classes from "abstract" to "virtual" where it makes sense. Most classes that make sense have been converted. Missing: * Physics servers * VideoStream * Script* classes. which will go in a separate PR due to the complexity involved.
2022-03-05Reverse tangents of capsule meshMarkus Sauermann
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-09-28Fixes the normals of SphereMesh when the radius is different from 1Duarte David
2021-09-27QuadMesh remove format ARRAY_FORMAT_INDEXBrian Semrau
2021-08-22Fixes the normals of SphereMesh when the sphere/hemisphere is oblongDuarte David
2021-08-11Make radius & height in CapsuleShape3D independentPouleyKetchoupp
Also changed CapsuleMesh to make settings consistent between render and physics.
2021-07-11added offset for plane mesh and quad meshQbieShay
2021-07-04Allow using ORMMaterial3D by using BaseMaterial3D as a resource hintHugo Locurcio
Previously, only StandardMaterial3D could be defined as an alternative to ShaderMaterial. This also reorders the CanvasItemMaterial property hints to follow alphabetical order (which is enforced by the inspector).
2021-06-23Allow a top and bottom radius equal to 0 in CylinderMeshHugo Locurcio
The CylinderMesh generation code handles this special case and avoids generating the top and bottom faces if their radius is equal to 0. This improves performance by reducing the number of vertices to draw. If both values are set to 0, nothing will be visible but the mesh generation will still succeed. This also improves the CylinderMesh class documentation.
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-05-16Fix normals of PrismMeshJohn Wigg
2021-05-01Fix documentation following implementation of particle trailsMarcel Admiraal
2021-04-30Implement Particle Trailsreduz
-Enable the trails and set the length in seconds -Provide a mesh with a skeleton and a skin -Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh -Works deterministically -Fixed particle collisions (were broken) -Not working in 2D yet (that will happen next)
2021-04-01Merge pull request #42827 from lyuma/rename_bones_blendshapesRémi Verschelde
Allow renaming bones and blendshapes.
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-09Initialize class variables with default values in scene/ [2/2]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-05Rename CubeMesh BoxMeshMarcel Admiraal
2020-12-02Refactored Mesh internals and formats.reduz
-Changed how mesh data is organized, hoping to make it more efficient on Vulkan and GLES. -Removed compression, it now always uses the most efficient format. -Added support for custom arrays (up to 8 custom formats) -Added support for 8 weights in skeleton data. -Added a simple optional versioning system for imported assets, to reimport if binary is newer -Fixes #43979 (I needed to test) WARNING: -NOT backwards compatible with previous 4.x-devel, will most likely never be, but it will force reimport scenes due to version change. -NOT backwards compatible with 3.x scenes, this will be eventually re-added. -Skeletons not working any longer, will fix in next PR.
2020-10-15Allow renaming bones and blendshapes.Lyuma
2020-06-03Made property hint consistent with other property hintsPhischermen
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-04-02Replace NULL with nullptrlupoDharkael
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-10Return correct mesh format for PrimitiveMesh.JFonS
The return value was changed during the Vulkan port, but it didn't include ARRAY_FORMAT_INDEX. This meant they were wrongly considered non-indexed meshes and the click-selection logic for all primitive meshes broke.
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-23Changed default capsule axis to verticalYuri Roubinsky
Co-authored-by: Hugo Locurcio <https://hugo.pro>
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-02-11Base 3D engine done, still untested, though.Juan Linietsky