//------------------------------------------------------------------------ INTRO TO CP2060 //------------------------------------------------------------------------ I can describe cp2060 in just one word: FUN! Programming has never been this fun, and it's not difficult. But, as always, the danger with really fun subjects is that you can easily waste too much time on stuff which doens't count. You'll learn some neat concepts, so make sure you keep printing out lecture notes, reading them & showing up to lectures. The assignment may be fun, but (when the time comes) studying/memorizing for exams is just as important. //------------------------------------------------------------------------ STUDY (THE THEORY) //------------------------------------------------------------------------ I strugged a little in the beginning of the theory work, because I had never done matrix stuff before. All those square brackets looked very nasty; I still can't decide if I was too lazy or too scared to ask for help. Luckily I eventually picked up on the concepts at by going to tutorials. Makes sure you go to ALL your tutorials by the way. They should reassure you that the complex looking stuff isn't that complex, and most the the tutorial and exam questions are easy to achieve with a little practice. I didn't read much of the book admittedly - I found the lecture notes were pretty good (and much faster to read though). //------------------------------------------------------------------------ THE ASSIGNMENT (THE PROGRAMMING) //------------------------------------------------------------------------ When I did the course (in 2003) we had to make a 3D man, and the specs stated the features we could add, and how many marks each was worth. I suspect Lindsay will keep using the 3D man as the main assignment, which is why you can download my program, but not my code. ;) Make sure you work smart when you do your assignment. Add one feature at a time, and don't take too many risks with your code. On big problem for people was that the last feature we were told about was heirarchial models (trees). The big problem with this is that most people had already written their models, and features (animation etc) as just a set of objects without any structure. At that stage it was just too late, too complicated and/or too risky to try and adapt their code and/or start over. I was very lucky in that friends told me to learn and make a heirarchial model from the very beginning, because it makes life much easier later on. You will also find making classes makes life infinitely easier (assuming you understand you're classes). In my case: The "person" class contains an arrary of "bodyPart" objects, implemented as a hierarchial structure - a standard left-child right-sibling tree. I was extremely happy withy my code. I did a lot of smart things that assignment - I probably did a bit TOO much work, but, unlike everyone else, I can say I had 75% of the assignment finished by week 6, instead of 20%. You can ask Lindsay or myself for pieces of code, but I'm not sure you'll get any luck. This assignment is a learning excercise. IF YOU DON'T START EARLY ON THE PROJECT (and keep one eye ahead), AND IF YOU DON'T PUT IN LOTS OF TIME, YOU WON'T DO WELL ON THE PROJECT. Just remember, this assignment isn't so much work as fun. Work on it at home (starting at week 1) instead of watching those crappy TV programs you watch. //------------------------------------------------------------------------ GETTING GLUT TO WORK: //------------------------------------------------------------------------ Using Glut with Your Compiler: 1) Obtain Glut Libraries ( http://www.xmission.com/%7Enate/glut.html ) 2) Copy the .dll files to your windows\system32 directory, 3) Copy the .h files to your C++ compiler's include directory, 1) ( VC - C:\Program Files\Microsoft Visual Studio\VC98\include\gl ) 4) Copy the .lib files to your C++ compiler's lib director 1) ( C:\Program Files\Microsoft Visual Studio\VC98\lib\ ) NOTE: these instructions are courtesy of Jon Roberts (king of nerds) - http://homes.jcu.edu.au/~jc131829/cp2060.html NOTE: I discovered that, if GLUT isn't properly installed on a machine (say, at home) you won't be able to view the OpenGL executables you built (say, at uni), unless you include the "glut32.dll" in the same directory (as you can see in my downloadable). //------------------------------------------------------------------------ CONCLUSION //------------------------------------------------------------------------ I ususally hate "teleconferenced" subjects, but Lindsay's a pretty cool character, and I enjoyed most of his lectures. I was expecting some of the later lectures to be a little more complex but no-one complained. I hope you enjoy & get as much out of CP2060 as I did. PS: Don't expect to create anything too high tech or flashy. This isn't Myer or 3D studio Max - this is OpenGL. You learn the basics of working in 3D, but don't expect anyone to employ you. OpenGL is described as some as a kiddy language - they might be right - but it's great for learning.