Welcome to the course README!
By way of introduction, please see the Course Objectives as originally established by Brother Pingry.
From our own class, Grant found this link pretty useful: http://www.scratchapixel.com/lessons/3d-advanced-lessons/perspective-and-orthographic-projection-matrix/opengl-perspective-projection-matrix/? Ben Williams found these two helpful links dealing with perspective: http://ogldev.atspace.co.uk/www/tutorial12/tutorial12.html and https://www.opengl.org/discussion_boards/showthread.php/153444-perspective-division.
Here are some helpful references found by Brother Pingry along with previous members of the class.
- This is a great tutorial in general that uses FreeGLUT, but its greatest strength is in the "Following the Data" section that walks through how the various object data gets to the shaders: http://arcsynthesis.org/gltut/Basics/Tut01%20Following%20the%20Data.html
- This link from Princeton has a great discussion on all kinds of graphics related math, but more particularly on quaternions: http://www.cs.princeton.edu/~gewang/projects/darth/stuff/quat_faq.html#Q47
- A good looking tutorial, and even a full course that is on the official OpenGL website: http://www.opengl.org/sdk/docs/tutorials/TyphoonLabs/
- Lighthouse has some fantastic references and tutorials for you C/C++ folks. It uses GLUT as a windowing environment. Much of what is there is fixed pipeline, but there are some great GLSL references to get you started there. Here is a link to the place where it shows how to set up shaders in C++, and you can browse around from there: http://www.lighthouse3d.com/tutorials/glsl-tutorial/setup-for-glsl-example/
- Here is a discussion that might lead to some GLSLUnit testing framework: https://groups.google.com/forum/#!topic/webgl-dev-list/sKkl9FmcnPw/discussion
- A WebGL tutorial, starting at the beginning:http://code.tutsplus.com/tutorials/webgl-essentials-part-i--net-25856
- Some great examples of Chrome OpenGL experiments: http://www.chromeexperiments.com/webgl/
- Github has a good explanation on running Chrome with files that are served locally: https://github.com/mrdoob/three.js/wiki/How-to-run-things-locally
- A cheat sheet that might help with WebGL, more useful after you have a good handle on usage already, pretty terse: http://www.nihilogic.dk/labs/webgl_cheat_sheet/WebGL_Cheat_Sheet.htm
- Wikipedia reference on rotations: http://en.wikipedia.org/wiki/Rotation_matrix
- Sometimes you want the complete specification... who needs tutorials! http://www.khronos.org/registry/webgl/specs/latest/
- A set of WebGL tutorials based on the famous NeHe tutorials: http://learningwebgl.com/blog/?page_id=1217
- Another WebGL tutorial, most importantly, this one has some error handling examples: http://dev.opera.com/articles/view/raw-webgl-part1-getting-started/
- An excellent reference on soft shadows: http://codeflow.org/entries/2013/feb/15/soft-shadow-mapping/
- Great Earth and Moon texture maps: http://planetpixelemporium.com/earth.html
- The OpenGL SuperBible is a great reference. Here is the home page, and you can download all of the source code, which is quite instructive. He wraps up many of his tutorials using his own helper libraries. Some of the most valuable learning actually comes from breaking apart his helper library source code: http://www.starstonesoftware.com/OpenGL/ CAUTION: Use Windows if you go this route. It's currently not working for Macs.
- Here is a simple shader based C++ program that uses SDL as a windowing library: CPP_SDL_SHADER_EXAMPLE.zip
- Here is a link to the PowerPoint presented in class: OpenGL Transformations and Projections
Here are a few ideas from projects former students have done. This will be updated as more former student chime in.
Here are some More Cool Links from class on 6/25/2014.
Here is the Poster Template.