Information
When Wed 3:30pm-7pm
Where EVL CyberCommons, 2068 ERF
Website http://evl.uic.edu/creativecoding/cs526
Announcements Piazza
Office hours 2032 ERF, Wed 12noon-1pm (or by appointment)
Description
This course provides a forum for investigating advanced topics in contemporary computer graphics, with an emphasis on the creation of computational aesthetics projects.
We will investigate current hardware-accelerated programming techniques using OpenGL and GLSL, as well as a range of tools that facilitate creating interactive graphics applications (such as WebGL, Three.js, and Unity3D).
We will read widely from both seminal work in the fields of graphics and visualization as well as from recent papers from top-tier conferences and journals (TOG, SIGGRAPH, CG&A, TVCG, CHI, etc) and curated editions (GPU Pro, GPU Gems, ShaderX). In addition to the completion of weekly programming and writing assignments, students will be responsible for two projects that involve the creation, demonstration, and documentation of novel interactive graphics techniques.
A particular focus of the course is on computational aesthetics, broadly defined to include novel image processing techniques, special effects for games and films, new media arts projects, and investigations into creative visual explorations of current computational topics, such as data mining, signal processing, machine learning, and natural language processing, among others.
Prerequisites
Students should be of graduate standing with a strong interest in computer graphics. Students will be expected either to work on novel research related to fundamental topics in graphics or visualization, or to the application of contemporary graphics techniques to a topic in an area that they are already familar with, or both. A working knowledge of programming for 3D computer graphics is expected (e.g., OpenGL, three.js, Processing, VTK, Unity, etc). Finally, students should have completed CS 488 or a similar introductory graphics course (or be taking CS 488 concurrently). Exceptions to these prequisites can be made at the discretion of the instructor.
Slides / Demos
Week1.pdf
Week2.pdf
Week3.pdf
Simple Demos
Class Projects
Research Journals
Marco Cavallo
Hoang Minh Huynh Nguyen
Abeer Alsaiari
Tomasz Rybiarczyk
Kyle Almryde
Paul Murray
Igor Fortel
Creative Projects
Street view timelapse
3D city reconstruction
Emphemeral bits
Kinect-based audio-visual interaction
Artistic 3D sculpture composition
RF visualization
Imagining Macondo
A Web-based UI for designing 3D sound objects and virtual sonic environments
Reas Processes 3D
3D Software Interpretation of Reas’s Processes
Web audio API example code
Chromatic fantasy code
Grading
Research/Project Journal
Grading will be based on your contributions to discussions and critique sessions, the thoughtful and timely completion of programming assignments, and especially the creation, evaluation, and documentation of innovative computer graphics projects. All students are required to participate in one group project and to act as the lead for a project of their own choosing.
Research/project journal 15%
State-of-the-art (STAR) reports 16%
One project as lead 30%
One project as assistant 15%
Discussion and critique sessions 9%
Short programming assignments 15%
Policies
Attendance is required. Any student missing more than three classes for any reason will not pass the course. You can use these absences as you like, for sick days, holidays, or special events observed by organized religions (for students who show affiliation with that particular religion), or those pre-approved by the UIC Dean of Students (or Dean's designee). No social media in class; no eating in class (gum or coffee is okay); no texting or phone calls in class.
Resources
Libraries and Frameworks
Threejs.org
OpenGL ES 2.0 Reference Pages
OpenGL ES 2.0 API Quick Reference Card
WebGL 1.0 API Quick Reference Card
Conferences ISEA 2016, Cultural R>evolution ISEA 2015, Disruption SIGGRAPH'15, Xroads of Discovery VISAP'15, Data Improvisations
Texts & Tutorials Real-time Rendering The Little Grasshopper (new) The Little Grasshopper (old) Iñigo Quílez Kajiya's “The Rendering Equation” paper
Demos oos.moxiecode.com Shadertoy
Courses CS 524 S2015 CS 488 F2014
Inspiration An Interview with Garry Winograd Sabrina Raaf’s Test People The Philosophy of Andy Warhol Inventing Abstraction 1910-1925 George Legrady’s Swarm Vision Lena Gieseke’s Guernica 3D Davis et al., “The Visual Microphone” Eulerian Video Magnification Christian Marclay‘s The Clock Graeme Brown‘s analysis of REM‘s Imitaion of Life