G3D 9.00 Innovation Engine

CS371 projects use the G3D Innovation Engine library as a common support code base. We use the svn top-of-tree for version 9.00 beta 5 of the library. This is installed on the lab Macs. You can also build G3D for your home Windows, OS X, or Linux computer but this is not supported.

OpenGL and GLSL

Your shader programs will be in GLSL version 1.5. OS X currently supports OpenGL through version 3.2 plus extensions. Beware that newer versions exist but are not yet supported by OS X.

The official print manuals for OpenGL (which I do not recommend and are out of date) are:

C/C++ Language

C++ blends low-level machine control with high-level programming constructs. It is a complex language and I recommend using only a subset if this is your first time programming in C++. Avoid most of the C++ standard library and don't create your own templates or macros. Use G3D::Array instead of C-arrays, std::string instead of C-strings, and std::shared_ptr (e.g., Texture::Ref) or references (&) instead of C-pointers.