GLART -- OpenGL as an Art Medium (January 2010)
NOTE:
These course materials use JOGL for the OpenGL binding. I created a set of java classes (called JOCode) to make it easier to
create JOGL apps. JOCode is a thin layer over OpenGL and is useful as a framework to get started building Java/OpenGL programs.
The code is heavily commented and provides many useful functions that demonstrate OpenGL and provide working examples to build on.
To see JOCode demos download the JOCode demo zip file
For the complete GLART examples: download the GLART class examples, images, models and JOCode source
The JOCode project code repository is online at Google code: code.google.com/p/jocode
You can get the previous GLART course materials (using LWJGL) at the GLART_2008 course folder
JOCode classes can be called from Processing as well: DOWNLOAD JOCode Processing Examples
Course Description
The computer provides artists with a bewildering variety of options for creating images: image editors, 3D modelling tools, animation tools, and dozens of progrmaming languages. Yet at the lower level of all computer rendering lies a relatively simple and very powerful graphics processor. OpenGL provides access to this lower level of rendering, and gives artists the opportunity to create their own "brush and canvas", to produce high performance animated graphics in both 3D and 2D. The purpose of this course is to introduce OpenGL and provide a working knowledge of this powerful API. We will use Java, Eclipse and an OpenGL library to explore basic concepts of OpenGL such as coordinate systems, navigating in a 3D space, cameras, rendering models, mouse and keyboard input, lighting, texturing and blending. The course consists of weekly programming assignments and a final project. This class is intended for students who are comfortable with programming.Syllabus
Week 1 — OpenGL Intro / Geometry
Week 2 — Geometry Transformations
Week 10 — Stencil Buffer and Buffer Summary
Week 12 — The FrameBuffer and Screenshots
Week 13 — Final Projects in Progress
Week 14 — Final Project Presentations
Reading Materials
Resources