randomPoison / gunship-rs

An experimental game engine written in Rust.
MIT License
27 stars 3 forks source link

Improve COLLADA Mesh Parsing #43

Closed randomPoison closed 8 years ago

randomPoison commented 8 years ago

Currently the code for parsing COLLADA data into usable meshes is one big hack. It doesn't support even a small fraction of the ways that a COLLADA document could specify mesh data and is hard coded to support only a few formats. The following are some of the ways that would make COLLADA processing more robust:

A good chunk of this is dependent on improvements to the rendering system itself (e.g. the rendering system doesn't properly support different combinations of vertex attributes either) so that work will have to be done in parallel with this task.

randomPoison commented 8 years ago

With regards to supporting meshes with multiple primitive elements: I'm not entirely sure what it will take to support this, whether one element will get parsed into multiple Mesh objects or if we'll want to transform all of the primitive elements to use the same format and combine them into a single Mesh.

My suspicion is that we will want to allow each "mesh" to be composed of sub-meshes that can be handled independently. That would allow us to parse each primitive element into a separate sub-mesh and handle it in its native format (triangles, line strips, etc.). It's probably best that we don't try to convert everything to e.g. triangles because it's likely that the authoring tool used the most efficient representation.

randomPoison commented 8 years ago

Supporting meshes with multiple primitive elements is somewhat of a large issue because it requires changes in both the scene graph system and in polygon itself. I'm going to split it off into it's own issue so that this one can be closed.