Cody Robson

CS 682

 

·          The learning can really be put into two categories:

·          As far as the details of the implementation:

·          I read a lot about geometry processing and texturing.  My current working knowledge of texturing methods (Opengl Parameters, Texturing Shaders, Render-To-Texture, Compression) has come a long way from the end of last summer.  Greg has been a big help for writing fast methods (for the first time running speed was a factor in a CS project).  I learned a lot about the principals of cartography and labeling from meeting with Mark and reading various labeling papers.  Despite my text rendering implementation being very basic, I did read a bit about font rendering.

·          As far as working on a long, large research project:

·          It was a new experience to work towards something that didn't have a predefined answer.  I didn't have that feeling that if I kept plugging away I would suddenly stumble upon the 'correct' answer or my program would start working as the solution described like I could count on for other school projects.  I had many realizations that I underestimated the amount of work demanded by making such a project, especially when it coincided with workloads from 766 or 679.  I do feel I have a bunch more to learn about how to work on a research project efficiently and successfully, but I feel I'm a lot better off now than if I had gone into graduate school without doing 681/682.

·          As far as produced items, I clearly didn't hit my hoped for results of some sort of published document.  So on that level, I am disappointed with myself.  However, on a more important level, I feel I learned a great deal doing this project and I'm growing increasingly more comfortable coding graphics applications, writing good c++ (or better c++...), and writing shaders.  I feel this experience has been a good asset in applying and getting into graduate school and should help me as I start to do this process all over again a year from now.  I think the most important thing I have to ask myself is “would I have been better off taking other cs courses instead?”, and although I can't say for certain that I am, I feel I learned things about research projects and graphics that I wouldn't have otherwise, and as I go on to grad school in graphics I feel I made the right decision.  Whether I should have continued 699 courses instead of 681/682 is another question...

·          I am satisfied with the implementation of the core techniques of the produced items (namely, the texture decaling).  Working on something in the same realm as a friendly, helpful grad student saved me on more then one occasion when I got stuck.  Being able to work at home was a great asset while it lasted.

·          Imposter rendering...

·          I had never tried to implement something that simply wasn't laid out clearly in the paper (I still think there's typos on the diagrams), and despite some friendly emails from the author of the paper and even their source code (shaders built at runtime in segments of assembly language) I was definitely defeated by this task.

·          The only correctly working aspects I got out of it were flat screen-aligned spheres and cylinders with correct lighting, and I learned things that would later help me write billboard shaders and other imposter shaders for 679.

·          I did not commit enough time to get something published for this project:

·          At first glance I perhaps should not have been in another time-consuming CS course alongside this one.  Since I made the decision to do that, I should have made the necessary sacrifices to my other classes, social life, work, etc, to follow through on that decision.

·          I should have had a concrete year-long plan down sooner with milestone dates planned really far ahead.  Of course it would have probably all changed but It would have been a better metric for knowing how long to spend on thing and when to move on when something wasn't working.

·          Weekly meetings should have started right away, it was very clear that progress is driven by the thought of having to sit down and show someone what you've done.

·          Pick something you have a lot of interest in, after months of work everything you do is going to be less appealing than it began.

·          Don't take a programming intensive course alongside this one without being able to make the necessary sacrifices to do both well.  I learned this once taking OS and Graphics together and apparently I didn't learn it well enough...