CS 465 Fall 2016
Computer Graphics Systems and Design
CS 465 Links:
will be used in this class for announcements, and discussions.
You can also view your grades in the class.
A couple of "recommended books" (ranked)
- F. Durand,
A Short Introduction to Computer Graphics, last viewed 7/17/2015.
- E. Angel and D. Shreiner, SIGGRAPH 2013 tutorial:
An Introduction to OpenGL Programming, last viewed 8/20/2015,
download copy, it often takes along time to load.
- Recommend reading: Shreiner, et.al.,
OpenGL Programming Guide, 8th edition, 2013.
Chapter 1 - 3, 5 - 7 Appendices A, C, D, and E as needed
Lecture Resources and Notes
Notes are usually Adobe Acrobat PDF files landscape 1 slide per page
format. If you print the notes, I strongly recommend you set your
printer to print in a 2 page or 4 page up mode.. This way you will get
readable notes with half the printed pages.
|| Due Date
| Project first phase (20% lab)
|| 10 / 9 / 2016
|| Model your warbird and the Ruber system.
Specification and simulation spreadsheet in
Warbird Simulation directory.
| Midterm (30% lec)
|| 11 / 2 / 2016
|| a midterm study guide will be posted
| Project 2 phase (40% lab)
|| 11 / 20 / 2016
| Project 3 phase (40% lab)
|| 12 / 4 / 2016
| Final (40% lec)
|| Monday 12 / 12 / 2016
3:00 to 5:00 pm
| a study guide will be posted
To avoid any misunderstanding by anyone (aka a student in one of my
classes), the following disclaimer has been patterned from a Microsoft
web page and is applied to code found herein or on any of Professor
Barnes' web pages.
WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THESE WEB PAGES IS AT
YOUR OWN RISK.
Professor Barnes provides this code "as is" without
warranty of any kind, either express or implied, including but not
limited to the implied warranties of merchantability and/or fitness
for a particular purpose.
Professor Barnes will not be held responsible for any inaccuracies,
bugs, documented or undocumented, in the sample code below.
SHOULD YOU WISH TO USE THESE EXAMPLES FOR COURSEWORK, YOU ARE DOING SO
AT YOUR OWN RISK.
Professor Barnes will not grant extra credit, time, debugging time, or
anything else should you find an error in his code. I will
appreciatively say, "Thanks for pointing that out!". And I will try
to correct it. One aspect of reading/using instructor's code is that
it can be critique. I do not claim that the approaches used in my
examples, are the best, the most optimal; by any means. My goal is
instruction. I have tried to keep them as simple as possible to show
concepts and simple techniques. I think discussions about the
approaches could be, gasp, "learning experiences" (for all of us).
When getting the example source code files (*.cpp and *.glsl) it is
better to download than to copy and paste. Copy and paste can miss
parts. To download right click the file in your browser and either
"save target" or "save link as" (depends on your browser). Don't
click "OK" immediately. First make sure "*.*" or "all files" is
selected in the type field below the name field. Then click "OK".
- Installing and Building core OpenGL programs
- Directory of includes for use with Comp 465 assignments:
Updated 9/5/2016 to support Mac OSX installation notes.
- Directory for example on how to load and view an AC3D *.tri
Demonstrate 2 utility functions: loadTriModel(...) and
loadModelBuffer(...) in include file triModel465.hpp for loading in
models and setting buffers.
Updated 9/5/2016 for Makefile use with Linux and Mac OSX. Note
includes465.hpp also updated.
- Directory of *tri models for use with Comp 465 assignments:
- Directory for first example on how to create vertices, color, and
normals for a pyramid, have different viewpoints, different perspective,
and glut keyboard events.
- Console (no OpenGL graphics) examples glm functions for transformations
- Example of a single *.tri model used to draw 1,000 Shape3D objects.
ManyCubes directory .
File Shape3D.hpp is a C++ class that represents each instance of the
*.tri model. Example illustrates C for OpenGL application file and
C++ class for "scene graph".
- Example of loading in 3 *.tri model files and displaying them.
ManyModelsStatic directory .
Many on-line tutorials and references for OpenGL may
be for earlier releases that used the fixed functional pipeline. We
are using a shader-only approach with the SuperBible textbook. In
additon, several of these links are old -- from several semesters ago
(I haven't checked them recently).
- CSUN Computer Science student's
Dreamspark account . You can download professional development
tools for this class: Windows 7 or 10, Visual Studio 2015, 2013, ...
- C++ for Java programmers
Getting started with OpenGL
- OpenGL 4.x on-line manual.
OpenGL and GLSL covered.
- M. Kilgard's GLUT on-line documenation .
- Etay Meiri's
OglDev Modern OpenGL Tutorials.
- Open Asset Import Library Assimp .
Open and use many 3D model formats for GLSL based OpenGL programs.
- Joey de Vries' learn
OpenGL tutorials uses GLFW
- Interactive Computer Graphics: A Top Down Approach with Shader-Based OpenGL 6th ed.,
E. Angel asnd D. Shreiner, 2012,
example programs from 6th edition.
- E. Angel and D. Shreiner, SIGGRAPH 2014
An Introduction to WebGL Programming, last viewed 10/23/2014
- OpenGL: SuperBible 5th edition, R. S. Wright, B. Lipchak,
N. Haemel, Addison-Wesley, 2011,
- Nate Robin's
OpenGL tutors a zipped file. These are the demos I've been
using in class.
- An OpenGL
light / material
tutorial (a windows exe file).
- CSUN provides lynda.com courseware accounts for students
- Xiang, Z., Plastock, R., Schaum's Outline of Theory and Problems
of Computer Graphics , McGraw Hill, 2000.
- Game Developer Associations
- Kinetics, Simulation
- D.M. Bourg, Physics for Game Programmers, O'Reilly, 2002.
- E. Lengyel, Mathematics for 3D Game Programming and Computer Graphics,
Charles River, 2002.
- P. J. Schneider, D.H. Eberly, Geometric Tools for Computer Graphics,
Morgan Kaufmann, 2003.
- Algorithmic Modeling of objects and behavior
- Laurens Lapre's L system parser
Lparser and links to other L Systems
- Craig Reynold's
algorithms for flocking behavior and links to related work.
- G. W. Flake, Computer Explorations of Fractals, Chaos,
Complex Systems, and Adaptation, MIT, 2000.
- P. Martz,
Generating Random Fractal Terrain
- H.C. Sun, D.N. Metaxas,
Automating Gait Animation
Procedural Tree demo -- zipped file.
- P Prusinkiewicz,
Algorithmic Botany .
- M. Walter, et.al,
Integrating Shape and Pattern in Mammalian Models
- Y. Parish, et.al,
Procedural Modeling of Cities
- SDKs, Related sites, books, miscellaneous
- SDL -- game engine
Sound library works well w/ OpenGL.
VTK -- Visualization ToolKit
- D. Bourg, AI for Game Developers, O'Reilly, 2004.
- M. Buckland, Programming Game AI by Example, Wordware, 2005.
Game AI tutorials
Digital Game Developer discussion, resources.
- D. Luebke, M. Reddy, J.D. Cohen, A. Varshney, B. Watson, R. Huebner,
Level of Detail for 3D Graphics, Morgan Kaufmann, 2003.
- K. Brilliant, Building a digital human,
Charles River Media, 2003.