Friday, April 22, 2011

So what have you learned from 660 Authoring tool?

Hey since it is just my first attempt to a teamwork programming project, also it is my first time to use an outer library. It was really tricky, but I really learned a lot.

Got to know how to compile an outer library using CMake on Windows Platform.

It is really important to read the instructions carefully first, be fully aware about the functions, requirements and limitations of the library to decide whether it is applicable. For example, CGAL requires each computed polygon is counter clockwise, which means some preconditions have to be made.

Compiling and debugging to details of the library can help understand how it works, but it is costly without a full understanding about the instructions.

For this modeling project, the curve editor framework using OpenGL output is really essential. Firstly it help test eligibility and functionality of the library in simple conditions. It also help when a specific and wired bug appears by creating the exact numerical environment.

BE CAREFUL about the whole developing process! Never do tons of coding without any output and debugging  like this time. It is lucky that I kept a relatively clear thought all through the construction of the project, but it is really DANGEROUS! It is very likely that millions of tiny bugs are hidden in the lines, which will take much more time to eliminate than the construction itself!
The right way: a little bit process->output->debug->success->a little more process.
Another right method I think is: construct simple situation->debug->success->add more complex conditions
So keep these micro circulations to build a project is most likely to be robust.

Make good use of Google to help clarify and solve problems with the library. See whether others met with similar tricks. Maybe there is no direct answer, other ppl's experiences can of course provide hints and inspirations for solutions, like the solution of "double" and "float" which took more than three days to figure out.

Got more about how C++ works, and also Maya plugin process, like get a 3D meshed model from a vector<vec3>. But still, my work is mostly concentrated on C++ programming. So I need more practice and understanding about Maya API!

Should be FULLY aware of the importance of Design Document. It should be written specifically and clearly to follow. Should also look back to it often during projection to keep close track of it. It is good to have brilliant ideas, but I guess it is not a good idea to forget about the initial targets.
Ask Dr. Lane about the significance of Design Document and its modification.

To be continued...

No comments:

Post a Comment