Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/geometry/nodes/node_geo_volume_to_mesh.cc
| Show First 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | |||||
| loop_offsets[i] = loop_offset; | loop_offsets[i] = loop_offset; | ||||
| vert_offset += data.verts.size(); | vert_offset += data.verts.size(); | ||||
| poly_offset += (data.tris.size() + data.quads.size()); | poly_offset += (data.tris.size() + data.quads.size()); | ||||
| loop_offset += (3 * data.tris.size() + 4 * data.quads.size()); | loop_offset += (3 * data.tris.size() + 4 * data.quads.size()); | ||||
| } | } | ||||
| Mesh *mesh = BKE_mesh_new_nomain(vert_offset, 0, 0, loop_offset, poly_offset); | Mesh *mesh = BKE_mesh_new_nomain(vert_offset, 0, 0, loop_offset, poly_offset); | ||||
| BKE_id_material_eval_ensure_default_slot(&mesh->id); | BKE_id_material_eval_ensure_default_slot(&mesh->id); | ||||
| MutableSpan<MVert> verts = mesh->verts_for_write(); | MutableSpan<float3> positions = mesh->positions_for_write(); | ||||
| MutableSpan<MPoly> polys = mesh->polys_for_write(); | MutableSpan<MPoly> polys = mesh->polys_for_write(); | ||||
| MutableSpan<MLoop> loops = mesh->loops_for_write(); | MutableSpan<MLoop> loops = mesh->loops_for_write(); | ||||
| for (const int i : grids.index_range()) { | for (const int i : grids.index_range()) { | ||||
| const bke::OpenVDBMeshData &data = mesh_data[i]; | const bke::OpenVDBMeshData &data = mesh_data[i]; | ||||
| bke::fill_mesh_from_openvdb_data(data.verts, | bke::fill_mesh_from_openvdb_data(data.verts, | ||||
| data.tris, | data.tris, | ||||
| data.quads, | data.quads, | ||||
| vert_offsets[i], | vert_offsets[i], | ||||
| poly_offsets[i], | poly_offsets[i], | ||||
| loop_offsets[i], | loop_offsets[i], | ||||
| verts, | positions, | ||||
| polys, | polys, | ||||
| loops); | loops); | ||||
| } | } | ||||
| BKE_mesh_calc_edges(mesh, false, false); | BKE_mesh_calc_edges(mesh, false, false); | ||||
| return mesh; | return mesh; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 78 Lines • Show Last 20 Lines | |||||