Advanced Computer Graphics
CSCI B581 Spring 2017
B581 - Spring 2017 site:
[B581 syllabus (preliminary)]

in Spring 2017: 3D & 2D Computer Graphics Programming with OpenGL ES on Android and iOSOpenGL ES
program OpenGL ES...
OpenGL ES on Android
...either on Android...
OpenGL ES on iOS
...or on iOS
OpenGL ES is a shader-based API using the GLSL programming language to write GPU-run code.
B.Y.O.D. and code!
in Spring 2017, we are going to use OpenGL ES and GLSL to write and run graphics programs on the GPU of mobile devices(*): if you have a Android or iOS device (phone, tablet, etc) running a recent version of the operating system, you may test your programs on it: just Bring Your Own Device and code...
(*) bringing your own device is not required: you may complete B581 just as successfully by writing and running the same graphics programs on mobile device simulators that run on STC lab computers, or on your own computer

InstructorMitja Hmeljak, mitja*indiana*edu 
Lecture: Section 30656 2:30PM-3:45PM on Monday and Wednesday in AC C116 (Cedar Hall-Union Street Center)
Office hours: 2:30-3:30PM, Tuesday and Thursday, LH 425 (Lindley Hall)

Assistant Instructors: Leif Christiansen, leifchri*iu*edu ; Steve Babcock, wsbabcoc*iu*edu
Lab: Section 30657 - 1:00PM-2:15PM on Friday in LH 030 (Lindley Hall)
Office hours: TBA
 Required: [CSCI-C 343 and (MATH-M 301 or M 303)], or equivalent experience: data structures & mathematics for vectors and matrices
 Recommended: [CSCI-C 212 and a working knowledge of a C-like language], or equivalent programming experience.
 Required: Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL, 6th edition (note: the newer 7th edition is also OK, although it uses WebGL for code examples) by E.Angel and D.Shreiner, Addison-Wesley 2012, ISBN-13: 9780132545235
 Recommended: OpenGL ES 2.0 Programming Guide by A.Munshi, D.Ginsburg and D.Shreiner, Addison-Wesley 2009, ISBN-13: 9780321502797

Course Description
 Introduction to graphics hardware and software.
 Two-dimensional graphics methods, transformations, and interactive methods.
 Three-dimensional graphics, transformations, viewing geometry, object modeling and interactive manipulation methods.
 Basic lighting and shading.
 Video and animation methods.
 Credit not given for both B581 and B481.

Mitja Hmeljak 2017