diff options
author | Omar El Sheikh <techmanozmar@gmail.com> | 2022-02-22 18:10:09 -0500 |
---|---|---|
committer | Omar El Sheikh <techmanozmar@gmail.com> | 2022-08-13 08:09:32 -0700 |
commit | 78881b3cc3a389c21c1417ad05840e80a234e2d7 (patch) | |
tree | e5b11b00aee94987c1ce7415bafeff01d33b2a25 /servers/rendering/renderer_rd/storage_rd | |
parent | f2a61684143af02a8cbe7002645af817607f9bd6 (diff) |
Octahedral Normal/Tangent Compression
Implementation of Octahedral normal compression into Godot 4.0
Diffstat (limited to 'servers/rendering/renderer_rd/storage_rd')
-rw-r--r-- | servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp b/servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp index dc3f35f942..71cfb32828 100644 --- a/servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp +++ b/servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp @@ -1057,10 +1057,9 @@ void MeshStorage::_mesh_surface_generate_version_for_input_mask(Mesh::Surface::V } break; case RS::ARRAY_NORMAL: { vd.offset = stride; + vd.format = RD::DATA_FORMAT_R16G16_UNORM; + stride += sizeof(uint16_t) * 2; - vd.format = RD::DATA_FORMAT_A2B10G10R10_UNORM_PACK32; - - stride += sizeof(uint32_t); if (mis) { buffer = mis->vertex_buffer; } else { @@ -1069,9 +1068,9 @@ void MeshStorage::_mesh_surface_generate_version_for_input_mask(Mesh::Surface::V } break; case RS::ARRAY_TANGENT: { vd.offset = stride; + vd.format = RD::DATA_FORMAT_R16G16_UNORM; + stride += sizeof(uint16_t) * 2; - vd.format = RD::DATA_FORMAT_A2B10G10R10_UNORM_PACK32; - stride += sizeof(uint32_t); if (mis) { buffer = mis->vertex_buffer; } else { |