Add 3D Model Loading with Normals #13

Closed
opened 2026-01-18 14:14:22 +00:00 by akadmin · 0 comments
Owner

Description:
Implement 3D model loading using the tobj crate. Extend vertex data to include normals, tangents, and UVs.
Tasks:

  • Add tobj dependency to Cargo.toml
  • Extend VertexData struct to include normals and UVs
  • Create model loading function that parses OBJ files
  • Handle multiple meshes in one file
  • Load vertex positions, normals, and texture coordinates
  • Calculate tangents and bitangents (needed for normal mapping later)
  • Update vertex buffer creation for new vertex format
  • Test with a simple OBJ model (cube or sphere)

Acceptance Criteria:

Can load OBJ files with normals and UVs
Vertex data correctly includes all attributes
Models render with correct geometry

Related Issues: Depends on #12
Estimated Time: 2-3 days

Description: Implement 3D model loading using the tobj crate. Extend vertex data to include normals, tangents, and UVs. Tasks: - [x] Add tobj dependency to Cargo.toml - [x] Extend VertexData struct to include normals and UVs - [x] Create model loading function that parses OBJ files - [x] Handle multiple meshes in one file - [x] Load vertex positions, normals, and texture coordinates - [x] Calculate tangents and bitangents (needed for normal mapping later) - [x] Update vertex buffer creation for new vertex format - [x] Test with a simple OBJ model (cube or sphere) Acceptance Criteria: Can load OBJ files with normals and UVs Vertex data correctly includes all attributes Models render with correct geometry Related Issues: Depends on #12 Estimated Time: 2-3 days
akadmin added this to the Foundation milestone 2026-01-18 14:14:22 +00:00
akadmin added reference feature/obj-model-loading-with-normals 2026-04-13 02:23:33 +00:00
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
akadmin/NemesisEngine#13
No description provided.