1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-06 12:20:30 +00:00
Commit Graph

79 Commits

Author SHA1 Message Date
David House
e6daec9cf8 Added indirect drawing functionality to MultiMesh
Update doc/classes/RenderingServer.xml

Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2025-01-13 14:51:51 -06:00
Yufeng Ying
33817b186f Remove unused header in drivers and modules.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2024-12-24 00:40:47 +08:00
ze2j
97b093617d Follow-up of ArrayMesh::surface_remove addition 2024-12-20 10:53:43 +01:00
Thaddeus Crews
b715fabd70 Merge pull request #76371 from ze2j/array_mesh_surface_remove
Add `ArrayMesh::surface_remove`
2024-12-19 19:59:56 -06:00
clayjohn
deac37c464 Clear AABB when Mesh is cleared 2024-12-05 11:40:44 -08:00
ze2j
97e0b43faa Add ArrayMesh::surface_remove 2024-11-27 13:46:15 +01:00
David House
6e9d31f602 Implemented multimesh_get_buffer_rd_rid function into RenderingServer.
Fixed style error.

Updated dummy mesh_storage to move from cpp to h the return of a blank Rid on _multimesh_get_buffer_rd_rid.
2024-11-14 15:52:08 -06:00
Nazarii
1ba168fcbc Use local vector for skeleton 2024-10-02 20:38:40 +03:00
Rémi Verschelde
bc4c60c933 Merge pull request #94893 from rune-scape/no-const-cast-mesh-storage
Avoid `const_cast` in `mesh_storage.h`
2024-09-10 09:51:22 +02:00
Rémi Verschelde
a2b64ed544 Merge pull request #95961 from RadiantUwU/fix-mesh-recursion
Fix shadow mesh recursion.
2024-09-03 11:43:16 +02:00
Radiant
70860aafd8 Fix shadow mesh recursion. 2024-08-31 22:31:43 +03:00
rune-scape
f04a9bb630 Avoid const_cast in mesh_storage.h 2024-08-28 14:46:03 -07:00
Rémi Verschelde
033054f182 Merge pull request #95838 from olawlor/vertex65536bugfix
Fix GLES3 crash with Mesh surface with exactly 65536 vertices
2024-08-20 10:03:06 +02:00
Orion Lawlor
bde165ccb3 Fix GLES3 crash with Mesh surface with exactly 65536 vertices
Fixes #95837.
2024-08-20 09:08:16 +02:00
Ricardo Buring
1728f80e7c Fixed Timestep Interpolation: MultiMesh
Adds fixed timestep interpolation to multimeshes.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-08-18 17:14:59 +02:00
Ricardo Buring
a24cb7b369 Fix MultiMesh buffer cache in transforms-only case 2024-05-11 21:10:07 +02:00
Rémi Verschelde
415a334f5f Merge pull request #88745 from clayjohn/GLES3-system-fbo
Consistently use `system_fbo` instead of binding 0 as it is needed for iOS devices
2024-02-27 10:17:51 +01:00
clayjohn
294f16c862 Consistently use system_fbo instead of binding 0 as it is needed for iOS devices 2024-02-25 13:52:41 -08:00
Robert Yevdokimov
13e82094ee Remove word duplicates in comments and strings, and fix casing and punctuation 2024-02-23 17:28:28 -05:00
Arman Elgudzhyan
533eab89ab Fixed reversed custom AABB null check when recalculating multimesh AABBs 2024-02-18 12:07:23 -08:00
Arman Elgudzhyan
7ac8365e11 Support custom AABB within MultiMesh resources
- Supporting custom AABB on the MultiMesh resource itself allows us to prevent costly runtime AABB recalculations.
- Should also help improve CPU Particle performance.
2024-02-15 22:37:07 -08:00
A Thousand Ships
684752e75b Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
Yuri Sizov
2ce450f8bc Merge pull request #84894 from clayjohn/tangent-error-message
Store ArrayMesh path in RenderingServer for use in error messages
2024-01-24 14:07:47 +01:00
EddieBreeg
8747c67d9e Fix potential integer underflow in rounded up divisions
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.

Fixes #80358.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +01:00
Rémi Verschelde
4943b6e6b3 Merge pull request #84451 from ShirenY/FixSkeletonMeshCulling
Transform mesh's AABB to skeleton's space when calculating mesh's bounds
2023-12-12 00:16:51 +01:00
ShirenY
27f71c4e78 Transform mesh's AABB to skeleton's space when calculate mesh's bounds. 2023-12-09 11:41:15 +08:00
Yuri Sizov
c2151bbfbf Merge pull request #85621 from daustria/opengl-compatibility-wireframe
Add wireframe for compatibility mode
2023-12-08 15:23:41 +01:00
Dominic
bae6f86257 Add wireframe for compatibility mode 2023-12-02 13:09:56 -05:00
clayjohn
c0c1efc5da Use vertex input mask for creating vertex arrays
Also fix bug in creation of vertex input mask
2023-11-19 16:32:55 +01:00
clayjohn
ead36fdcc4 Store ArrayMesh path in RenderingServer for use in error messages 2023-11-14 16:27:10 +01:00
clayjohn
a88e519f18 Add padding to normal attribute in Compatibility renderer to match the RD renderers 2023-10-24 22:32:34 +02:00
clayjohn
8f9cd4e1e3 Some more fixes for compressed meshes
This cleans up a few more cases of uint32_t->uint64_t

Importantly this fixes an edge case in the axis-angle compression by
using the pre-existing Basis methods instead
2023-10-24 09:38:12 +02:00
clayjohn
318ef8461f Implementation of tool to automatically upgrade and re-save meshes 2023-10-23 22:39:48 +02:00
clayjohn
51ed3aef63 Vertex and attribute compression to reduce the size of the vertex format.
This allows Godot to automatically compress meshes to save a lot of bandwidth.

In general, this requires no interaction from the user and should result in
no noticable quality loss.

This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.

Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 -06:00
A Thousand Ships
3565d1bf7e [Drivers,Platform] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-12 20:13:32 +02:00
A Thousand Ships
6cb28e481f Fix memory access error for MultiMesh with GLES3
Buffer was incorrectly assigned when invalid data was provided
2023-08-19 16:01:21 +02:00
Yuri Sizov
b1f4e58bbf Merge pull request #79772 from Malcolmnixon/gles-skeletons
Unbind the framebuffer when updating meshes
2023-07-24 19:33:27 +02:00
Malcolm Nixon
679f5bf410 Unbind the framebuffer when updating meshes.
While the vertex shaders used to update the meshes aren't actually rendering to the framebuffer, they may still refuse to run with some framebuffers bound - such as XR with multiple views.
2023-07-21 19:34:12 -04:00
bitsawer
9897f1cfb9 Fix GLES3 multimesh rendering when using colors or custom data 2023-07-20 11:54:34 +03:00
bitsawer
dab0871d41 Fix invalid RID errors when freeing a mesh with blend shapes 2023-06-19 11:07:15 +03:00
clayjohn
36a005fafc Add RENDERING_INFO parameters to GL Compatibility renderer
This also fixes RENDERING_INFO_TOTAL_PRIMITIVES_IN_FRAME for the RD renderers as it was incorrectly reporting vertex/index count at times

This also adds memory tracking to textures and buffers to catch memory leaks.

This also cleans up some memory leaks that the new system caught.
2023-06-16 09:10:00 +02:00
Lyuma
791d8001db Fix AABB for unused bones
Fixes bug where bounding box of 1 unit was used in some skinned models and had wrong LODs.
(this could become very large if the mesh is scaled, such as FBX conversions)
Also fixes a mistake in calcualting bone index.
2023-05-19 19:47:52 -07:00
SlugFiller
06a1fe0364 Fix AABB calculation for meshes using Skeleton2D 2023-03-05 08:21:08 +02:00
Rémi Verschelde
0668e0f5a9 Merge pull request #69001 from dzil123/fix_rendering_checks
Fix various missing rendering parameter checks
2023-02-13 21:07:05 +01:00
Ricardo Buring
497f5576c1 Fix MultiMesh visible_instance_count being ignored after the first frame
Co-authored-by: Clay John <claynjohn@gmail.com>
2023-02-03 11:40:39 -08:00
Ricardo Buring
086b9e0c59 Notify dependencies when setting custom mesh AABB
Fixes SoftBody3D culling issues.
2023-02-02 23:31:27 +01:00
clayjohn
eb9c2b878a Automatically transform Skeleton2D calculations so pivots are not needed 2023-01-27 14:55:22 -08:00
Rémi Verschelde
d95794ec8a One Copyright Update to rule them all
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".
2023-01-05 13:25:55 +01:00
Rémi Verschelde
2b056115ef Merge pull request #70091 from clayjohn/bone-aabbs
Remove mesh bone_aabbs as they are not used anywhere and calculating them is a pain
2022-12-17 12:32:32 +01:00
clayjohn
ef246d9156 Remove mesh bone_aabbs as they are not used anywhere and calculating them is a pain 2022-12-14 19:32:19 -08:00