CSCI 444/544 - Advanced Computer GraphicsSpring 2017 - Assignment 1 - An OpenGL 4.1 Core Profile Context |
|||||||||||||||||
| Home | Syllabus | Assignments | Schedule | Resources | | |||||||||||||||||
This assignment is due
by February 07, 2017 by 11:59pm.
Please Note: For this all future assignments, you are
free to choose which OpenGL implementation you would prefer to use.
Most of what we will be working on can be accomplished in OpenGL,
OpenGL ES, or WebGL. Additionally, you may use GLUT or GLFW for your
framework.
HOWEVER - if you choose to use a version or framework that we are not covering in class, then you must ensure your submission builds out of the box on the machines in the Computer Commons. Be sure to note any special instructions in your README. If the grader (i.e. instructor) cannot compile your code, you will be contacted once to solve the problem. Part I - OpenG 4.1 and GLSL 4.10
The exact content of the assignment is to your choosing. You must draw
a 3D object to the screen and illuminate it using Blinn-Phong Shading.
However, you must meet the following technical specs:
If you are working in the Computer Commons, this GLUT project will get you started - it does nothing beyond opening a black window. If you are working on your own machine, the source code may be of use to help get things set up. Additionally, there are some OpenGL Utilities and Shader Utilities written by Dr. Paone that you get to benefit from for free. Part II - Create Your Website
In addition to creating this awesome looking cube, create a webpage
that showcases your work. There is a template available for your
website. If you wish to use it, download this .zip
file and extract it in your dropbox. It will create a www/
directory with the stylesheet from the course webpage, which you can
use if you like. You'll be adding to it for each homework assignment,
with a screenshot or screenshots of your work, a short description of
the assignment, and the opportunity to talk about any neat
implementation details if you so choose. The websites are a way for
you to keep track of the projects you've made over the course of the
semester, but you should also aim to make the descriptions accessible
to people outside of the course as a way to share and showcase your
coursework. Hopefully you can use this as a portfolio along with your
resumé.
Inside the www/ directory, there is an images/ folder. Place any screenshots and other images into this folder. If you're not familiar with HTML, don't worry; the template shouldn't do anything crazy - a <br> signifies a newline, the <img> tag places an image. There are plenty of tutorials available for HTML if you want to add tables, change font styles, or play with the formatting. There are some comments in the template file to help you out as well. If you choose to use the template or your own template, be sure to name the webpage <HeroName>.html where <HeroName> is the name of your hero without spaces in CamelCase. (For example, my submission would look like ElvishScout.html .) If you have a question about what you should name your file, please ask the instructor and he will confirm how your name should look. Documentation
With this and all future assignments, you are expeced to appropriately
document your code. This includes writing comments in your source code
- remember that your comments should explain what a piece of code is
supposed to do and why; don't just re-write what the code says in
plain English. Comments serve the dual purpose of explaining your code
to someone unfamiliar with it and assisting in debugging. If you know
what a piece of code is supposed to be doing, you can figure out where
it's going awry more easily. (Interestingly enough, this code review of Doom 3's source code says the
exact opposite - well written code should require no comments. Well,
we don't work at id so we're going to comment.)
Proper documentation also means including a README.txt file with your submission. In your submission folder, always include a file called README.txt that lists:
Grading Rubric
Your submission will be graded according to the following rubric.
Submission
Please update your project so it produces an executable with the name
userName_A1. When you are completed with the assignment, zip together
your source code, README.txt, and www/ folder. Name the zip file,
userName_A1.zip. Upload this file to Canvas under A1.
This assignment is due
by February 07, 2017 by 11:59pm.
| |||||||||||||||||
Last Updated: 01/01/70 00:00
|