Hi
I've been working on a test and improvements for CloneMesh as part of GSoC 2011. I would be grateful if anyone could comment on my work. There are five test cases in the attached patch:
0. Basic mesh cloning. Declaration has position and normal, and the new declaration is the same as the original. 1. Same as test 0, but with 16-bit indices. 2. Shows that the vertex buffer can be widened so that it has room for a new vertex component. The declaration has position and normal, and the new declaration has texture coordinates after position and normal. 3. Same as test 2, but the new declaration has the texture coordinates in between position and normal. 4. Shows that a vertex component can be converted into another type if the new declaration specifies another type. The declaration has position and normal. The normal is a FLOAT2 and in the new declaration it is instead FLOAT16_2.
Test 0 and 1 tests what is already known to work in the current implementation. Test 2, 3 and 4 do not work in the current implementation because the original and new declarations are not the same.
I've also improved the current CloneMesh implementation so that it also passes test 2, 3, and 4. The patch is not complete because it does not support converting all the possible types. I expect to implement conversion for the remaining types during this week.
Again any comments or ideas are welcome.
Thanks, Michael Mc Donnell