This is an attempt to re-create the web page for CS559 from 2008.
The original course web was created in PMWIKI, which has been hard to maintain.
This site automatically converted the pages - the formatting is very different, but most of the content has copied over. Many links are broken.
The “Home Page” was Main.Main. You might also check out Site.AllPages.
The best way to find things is probably to search for it…
User Interface “Practice” Assignment Due: Tuesday, October 7th (extra leniency given - see below)
The purpose of this assignment is to get you ready for doing the next programming projects (ConstructionSite and Train/Roller Coaster)
First, read over the preliminary version of the construction site project so you know what’s coming. The Project is described here.
Second, try out the example solution. See if you can figure out the user interface (the interface was designed to be simple to implement and flexible, not necessarily easy to use).
CS559 Construction Site Project This is a new project for 2008, so bear with us as we work the kinds out.
Please check back often for updates! If there’s something that you don’t understand or want clarified, please email the TA and instructor - probably others are asking the same question!
10/8 - Updated the framework code. The following files were affected: SiteDisplay.cpp, SiteDisplay.h, ConstructionSiteWindow.cpp, Utilities/ArcBallCam.h and Utilities/ArcBallCam.cpp
This is an Excavator (picture taken near my house where there is road construction):
I traced over it to give it a simplified shape of the main pieces:
So you can see that its just made up of a few main pieces that rotate relative to each other:
So, in addition to placing the excavator in the world (think about where the treads go) with a position and orientation, there are 4 other angles that can be changed in the excavator.
Project 3: Graphics Town Quick Links: GraphicsTown example code, Technical Challenges,Previous Student Ideas.
Due Tuesday, December 9th, 11:59pm. Late assignments acceptedaccording to the course late policy.
Note: Because of some University rules, all work you do(including giving a demo) is supposed to be done before examsbegin. This means that project demos will be the last week of classes. Most likely, these will be on Thursday and Friday (the 11th and 12th).
GraphicsTown Code Documentation GraphicsTown is a set of example code written by Michael Gleicheras an example for the GraphicsTown project (CS559 Project 3). It isalso meant as a starting off point for students to do their ownprojects. Various TAs over the years have contributed as well.
A ZIP file containing the project can be downloaded.
For your project, you may either use GraphicsTown as astarting point, or you may start from scratch.
If you choose not to use the sample solution as a basis for your project, you must be sure to implement the important features of the sample code:
You must be able to fly around the town to look at things. You must have “shortcuts” to go directly to places where particularly interesting things are. You must have several vehicles moving around. (this doesn’t necessarily mean cars - one student had a space-town with ships flying around, another in a Harry Potter inspired project had brooms flying around castles) You must be able to control the time of day.
Technical Challenges Making a cool looking town needs to be more than just an art project!
You must implement some “technical challenges” (since that’s what thecourse is really about). A technical challenge is something that isnot just hard to implement, but also requires you to learn and thinkabout some graphics topic. Many of these topics will require you to learn something beyond what we’ve discussed in class.
Some of the technical challenges are required: you need to write shaders, have curved surfaces, and use advanced texturing.
1. Bayer Mosaics and Interpolation Most digital cameras actually have a single sensor, and use filters so each sample (pixel?) sees only one color. The common tiling for the pattern of the color is the Bayer Mosaic, which is described in Section 3.8 of Fundamentals of Computer Graphics.
For this question assume pixel values are between 0 and 1.
Imagine a Bayer Mosaic sensor where the left half of the image receives no light, and the right half receives enough that it gets 100% (value 1).
Transformations Written Answer key Question 1 OpenGL provides a “rectangle” command that draws a rectangle in the XY plane (e.g. Z=0):
glRectf(float x1, float y1, float x2, float y2); Give a function that draws a rectangle on the XZ plane (Y=0). It should use glRectf and some of the OpenGL transformation functions. You should not use glLoadMatrix (that is, you should build the transformations using the translation, rotation, etc.
Project 3 - Trains and Roller Coasters
11/7 - If you run into a problem where VS can’t “spawn cmd.exe”. The solution found by one student is to go to Tools->Options->Projects and Solutions->VC++ Directories and adding “$(SystemRoot)\System32” (minus the quotes)
1.@ Overview In this project, you will create a train that will ride around on atrack. When the track leaves the ground (or is very hilly), the trainbecomes more like a roller coaster.