diff --git a/src/experimental/filament/compat/imgui_bridge.cc b/src/experimental/filament/compat/imgui_bridge.cc index de21a303..71c9da01 100644 --- a/src/experimental/filament/compat/imgui_bridge.cc +++ b/src/experimental/filament/compat/imgui_bridge.cc @@ -230,7 +230,7 @@ void ImguiBridge::Update() { data.nvertices = cmds->VtxBuffer.Size; data.nindices = cmds->IdxBuffer.Size; data.indices = cmds->IdxBuffer.Data; - data.index_type = mjINDEX_TYPE_USHORT; + data.index_type = mjINDEX_TYPE_U16; data.primitive_type = mjMESH_PRIMITIVE_TYPE_TRIANGLES; meshes_.push_back(std::make_unique(scene_view_->GetEngine(), data)); diff --git a/src/experimental/filament/compat/model_objects.cc b/src/experimental/filament/compat/model_objects.cc index fb796882..1a52b6f1 100644 --- a/src/experimental/filament/compat/model_objects.cc +++ b/src/experimental/filament/compat/model_objects.cc @@ -445,8 +445,8 @@ static void UpdatemjrMeshData(mjrMeshData* data, const mjModel* model, int id, data->nindices = data->nvertices; data->indices = nullptr; data->index_type = data->nvertices >= std::numeric_limits::max() - ? mjINDEX_TYPE_UINT - : mjINDEX_TYPE_USHORT; + ? mjINDEX_TYPE_U32 + : mjINDEX_TYPE_U16; data->nattributes = has_uvs ? 3 : 2; data->attributes[0].usage = mjVERTEX_ATTRIBUTE_USAGE_POSITION; data->attributes[0].type = mjVERTEX_ATTRIBUTE_TYPE_FLOAT3; @@ -492,7 +492,7 @@ void UpdateSkinFlexmjrMeshData(mjrMeshData* data, const mjModel* model, data->nvertices = positions.size() / 3; data->nindices = num_indices; data->indices = indices.data(); - data->index_type = mjINDEX_TYPE_UINT; + data->index_type = mjINDEX_TYPE_U32; data->primitive_type = mjMESH_PRIMITIVE_TYPE_TRIANGLES; data->compute_bounds = true; data->release_callback = nullptr; diff --git a/src/experimental/filament/filament/builtins.cc b/src/experimental/filament/filament/builtins.cc index fc7b8c23..f438fa39 100644 --- a/src/experimental/filament/filament/builtins.cc +++ b/src/experimental/filament/filament/builtins.cc @@ -93,7 +93,7 @@ class BuiltinBuilder : mjrMeshData { primitive_type_ == filament::backend::PrimitiveType::TRIANGLES ? mjMESH_PRIMITIVE_TYPE_TRIANGLES : mjMESH_PRIMITIVE_TYPE_LINES; - index_type = mjINDEX_TYPE_USHORT; + index_type = mjINDEX_TYPE_U16; bounds_min[0] = bounds_.getMin().x; bounds_min[1] = bounds_.getMin().y; bounds_min[2] = bounds_.getMin().z; diff --git a/src/experimental/filament/filament/mesh.cc b/src/experimental/filament/filament/mesh.cc index e38c4399..2d7a74b7 100644 --- a/src/experimental/filament/filament/mesh.cc +++ b/src/experimental/filament/filament/mesh.cc @@ -262,7 +262,7 @@ void Mesh::BuildIndexBuffer(const mjrMeshData& data) { return; } - const int element_size = data.index_type == mjINDEX_TYPE_USHORT + const int element_size = data.index_type == mjINDEX_TYPE_U16 ? sizeof(uint16_t) : sizeof(uint32_t); const int num_bytes = data.nindices * element_size; @@ -277,7 +277,7 @@ void Mesh::BuildIndexBuffer(const mjrMeshData& data) { delete[] sequence; }); - if (data.index_type == mjINDEX_TYPE_USHORT) { + if (data.index_type == mjINDEX_TYPE_U16) { FillSequence(sequence, num_bytes); } else { FillSequence(sequence, num_bytes); @@ -287,7 +287,7 @@ void Mesh::BuildIndexBuffer(const mjrMeshData& data) { filament::IndexBuffer::Builder ib_builder; ib_builder.indexCount(data.nindices); - ib_builder.bufferType(data.index_type == mjINDEX_TYPE_USHORT + ib_builder.bufferType(data.index_type == mjINDEX_TYPE_U16 ? filament::IndexBuffer::IndexType::USHORT : filament::IndexBuffer::IndexType::UINT); index_buffer_ = ib_builder.build(*engine_); diff --git a/src/experimental/filament/filament/mesh.h b/src/experimental/filament/filament/mesh.h index ba15d8ca..3b7fc5ab 100644 --- a/src/experimental/filament/filament/mesh.h +++ b/src/experimental/filament/filament/mesh.h @@ -37,8 +37,8 @@ namespace mujoco { // The type of data stored in an index buffer. typedef enum mjrIndexType_ { - mjINDEX_TYPE_USHORT = 0, - mjINDEX_TYPE_UINT = 1, + mjINDEX_TYPE_U16 = 0, + mjINDEX_TYPE_U32 = 1, } mjrIndexType; // The type of primitive to be drawn by vertex data.