Assignment 02 - GLSL Fragment Shader Karate

We’ll be using glslViewer as the platform for displaying our fragment shaders in this exercise. Some of the reasons for use include standard uniform variables such as for checking the passage of time since the shader started or the position of the mouse cursor.

This package includes a folder with the executable and code that can run on the DPA Linux machines. (Thanks to Zach for pointing out both the issue and a fix for use of u_time). You are welcome to re-compile (note that this needs to be in the same folder (next-to) the common folder that includes glfw from your last assignment, but you shouldn’t have to do so, and you shouldn’t have to compile anything necessarily. The program should allow you to live-edit your shaders with a Sublime plug-in or by writing the file back in Vi, or similar. (If you’d like to use this on a Mac, directly download from the GitHub page and follow the directions to build – it’s pretty quick and simple, thankfully).

Ok, for the assignment – the purpose is to get a feel for shaping functions, patterns, noise, etc. – all tools in generative/procedural art as well as in generating patterns for shaders in general, whether programmatic or in a node-based shader network. Choose ideas that you will enjoy. Seek gaining experience in the shift in thinking for technically developing drawing within a shader that is run independently on separate cores. Have fun and experiment with creating interesting and appealing visuals. The assignment will be evaluated on functionality, creativity, and look – it is not crucial to match exactly your choices but rather to learn and experiment with visual development within GLSL. These skills will help build your procedural toolset for any generative art and shader development.

Come prepared to present your shaders for class critique on Wednesday, February 8. Upload your four shader files in a .tgz file named dpa8090lastname.tgz to Canvas for the Assignment 02 entry.

Develop GLSL fragment shaders, one each from the following groups, named as given: