summaryrefslogtreecommitdiff
path: root/scene/resources/mesh.cpp
AgeCommit message (Collapse)Author
2023-02-14Prevent crash in ImmediateMesh.create_outline by ensuringChris Hutchinson
that when no indices are specified, the number of vertices is at least a factor of 3. Fixes #73201
2023-01-23Merge pull request #70377 from dsnopek/server-export-mk2Rémi Verschelde
Add "dedicated server" export mode which can strip unneeded visual resources
2023-01-23Add "dedicated server" export mode which can strip unneeded visual resourcesDavid Snopek
2023-01-23Merge pull request #71214 from SekoiaTree/remove_mesh_surface_compatRémi Verschelde
Remove compatibility code for Mesh surfaces
2023-01-22Merge pull request #69619 from m4gr3d/address_android_editor_crashes_mainRémi Verschelde
Address Android editor crashes
2023-01-19Fix LOD sort order; checks in add_surface; and document all parameters of ↵RedworkDE
`ArrayMesh::add_surface_from_arrays` Also clarify some related documentation and expose the misssing `ArrayFormat::ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY`
2023-01-11Remove compatibility code for Mesh surfacesSekoiaTree
2023-01-08Use BitField<> hint for ArrayFormatJuan Linietsky
This was missing in the conversion of bitflags to BitField<>.
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2022-12-29Add safety-checks before some servers `free()`Adam Scott
2022-12-16Switch surface indexing to start at 0 so string name matches integer indexclayjohn
2022-12-05Address Android editor crashesFredia Huya-Kouadio
- Add workaround for crash when resuming existing project
2022-11-30Simplify GDVIRTUAL_REQUIRED_CALL callskobewi
2022-11-25Use a more specific type for Mesh create_(convex|trimesh)_shapeAaron Franke
2022-11-10fix old mesh conversion offsetsnikitalita
2022-10-10SCons: Re-enable treating `#warning` as error with `werror`Rémi Verschelde
Replace all TODO uses of `#warning` by proper TODO comments, and will open matching bug reports to keep track of them. We don't have a great track record fixing TODOs, but I'd wager we're even worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-09-02Revert usage of typed array in `add_surface_from_arrays` parametersYuri Rubinsky
2022-09-01Change Array arguments to TypedArraykobewi
2022-08-23Replace Array return types with TypedArray 2kobewi
2022-08-22Merge pull request #60309 from The-O-King/octRémi Verschelde
2022-08-20Clean up mesh include code and commentsAaron Franke
2022-08-19Remove requirement to have vertex positions when creating a mesh. Meshes can ↵clayjohn
now be constructed from an index buffer alone
2022-08-13Octahedral Normal/Tangent CompressionOmar El Sheikh
Implementation of Octahedral normal compression into Godot 4.0
2022-07-19Add drag-and-drop support for materials in 3DSaracenOne
Add mesh surface picking for material drag & drop, show drag info label
2022-06-22Add surface indices to TriangleMeshreduz
Helps unblock #56597
2022-06-11Add suffixes to all nodes and resourcesFireForge
2022-05-31Make `Mesh::generate_triangle_mesh()` handle `PRIMITIVE_TRIANGLE_STRIP`kleonc
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-05-03Merge pull request #60727 from aaronfranke/basis-axis-columnRémi Verschelde
2022-05-03Rename Basis get_axis to get_column, remove redundant methodsAaron Franke
2022-04-28Implement placeholder assetsreduz
* Placeholder textures * Placeholder meshes * Placeholder material This PR is the first step towards implementing https://github.com/godotengine/godot-proposals/issues/2756 It adds an asset type that uses no resources, which can be used to replace the existing ones on export for using on the upcoming server export.
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-02-24Add sanity checks to lightmap unwrap texel sizejfons
2022-02-02Vectors: Use clear() and has().Anilforextra
Use clear() instead of resize(0). Use has() instead of "find(p_val) != -1".
2022-01-08Merge pull request #56330 from nikitalita/convert-old-octahedralRémi Verschelde
Convert octahedral compressed normals/tangents on 3.x meshes
2022-01-08convert old octahedral compressed normals/tangentsnikitalita
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-21Added resource path to message about old mesh format conversionMarc Gilleron
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-12-05Remove or make verbose some debugging printsHugo Locurcio
The message about SpatialMaterial conversion was turned into a warning, as it can potentially interfere with porting projects from Godot 3.x (if there's a bug in the conversion code).
2021-11-03Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`Hugo Locurcio
This is consistent with other constants that include `NO`, such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-10-12Replaced NULL with nullptrM. Huri
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-16Merge pull request #52681 from nekomatata/rename-rigid-bodyCamille Mohr-Daurat
Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody
2021-09-16Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBodyPouleyKetchoupp
2021-09-14Clean convex hull decomposition codePouleyKetchoupp
Remove unnecessary conversion between triangle data and vertex data whenever possible.
2021-09-14Merge pull request #52266 from AndreaCatania/collRémi Verschelde
2021-09-108 uvs for glTF2, URI decode and Vertex Custom api.Lyuma
Add glTF2 uri decode for paths. Add vertex custom apis. Add scene importer api. Change Color to float; add support for float-based custom channels in SurfaceTool and EditorSceneImporterMesh Co-authored-by: darth negative hunter <thenegativehunter2@users.noreply.github.com>
2021-09-08Improve collision generation usability in the new 3D scene import workflow.AndreaCatania
With this PR it's possible to add a collision during the Mesh import, directly in editor. To generate the shape is possible to chose between the following options: - Decompose Convex: The Mesh is decomposed in one or many Convex Shapes (Using the VHACD library). - Simple Convex: Is generated a convex shape that enclose the entire mesh. - Trimesh: Generate a trimesh shape using the Mesh faces. - Box: Add a primitive box shape, where you can tweak the `size`, `position`, `rotation`. - Sphere: Add a primitive sphere shape, where you can tweak the `radius`, `position`, `rotation`. - Cylinder: Add a primitive cylinder shape, where you can tweak the `height`, `radius`, `position`, `rotation`. - Capsule: Add a primitive capsule shape, where you can tweak the `height`, `radius`, `position`, `rotation`. It's also possible to chose the generated body, so you can create: - Rigid Body - Static Body - Area