Skip to content

Commit

Permalink
Fix write primitive type enum
Browse files Browse the repository at this point in the history
Adds a translation from cgltf_primitive_type to gltf primitive rendering
mode in the writer.
  • Loading branch information
bowald committed Jan 19, 2024
1 parent 3531d8c commit 929585f
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion cgltf_write.h
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,21 @@ static int cgltf_int_from_component_type(cgltf_component_type ctype)
}
}

static int cgltf_int_from_primitive_type(cgltf_primitive_type ctype)
{
switch (ctype)
{
case cgltf_primitive_type_points: return 0;
case cgltf_primitive_type_lines: return 1;
case cgltf_primitive_type_line_loop: return 2;
case cgltf_primitive_type_line_strip: return 3;
case cgltf_primitive_type_triangles: return 4;
case cgltf_primitive_type_triangle_strip: return 5;
case cgltf_primitive_type_triangle_fan: return 6;
default: return -1;
}
}

static const char* cgltf_str_from_alpha_mode(cgltf_alpha_mode alpha_mode)
{
switch (alpha_mode)
Expand Down Expand Up @@ -453,7 +468,7 @@ static void cgltf_write_asset(cgltf_write_context* context, const cgltf_asset* a

static void cgltf_write_primitive(cgltf_write_context* context, const cgltf_primitive* prim)
{
cgltf_write_intprop(context, "mode", (int) prim->type, 4);
cgltf_write_intprop(context, "mode", cgltf_int_from_primitive_type(prim->type), 4);
CGLTF_WRITE_IDXPROP("indices", prim->indices, context->data->accessors);
CGLTF_WRITE_IDXPROP("material", prim->material, context->data->materials);
cgltf_write_line(context, "\"attributes\": {");
Expand Down

0 comments on commit 929585f

Please sign in to comment.