Last May I was invited by Trond Lossius to give an advanced Jitter workshop at BEK. I hadn't given a workshop since Max6 was released, so I was super excited for the opportunity to dive into all of the fantastic new Jitter features, particularly the Gen objects. For me, the Gen objects are like a secret ingredient that can be used to spice up a patcher in interesting ways. They're extremely versatile objects, useful in adding a unique touch.
The Jitter Gen objects are a portal to a vast world of creative possibilities but with that vastness one can easily feel overwhelmed. Gen patchers come with a new set of objects and operate according to a different logic than normal Max patchers. To really understand Gen requires shedding preconceptions and rewiring how you think about composing a patcher. As an entry point into the Gen world, the workshop curriculum focused on only a handful of Gen objects at a time, using them to explore a single visual technique:
- Color Manipulation: understanding vectors and colors Key Objects: vec, swiz, concat
- Mixing Video Streams: recreate jit.xfade and jit.alphablend, mixing at the image level v. mixing per-pixel Key Objects: mix, switch
- Coordinates: generating spatial patterns using distance fields (distance from a point, from a line, from a circle) Key Objects: norm, snorm, cell, dim, length
- Sampling: image warping using sample, applies knowledge about coordinate manipulation to image processing Key Objects: sample
- Isosurface (3D distance fields): extends the previous work with coordinates to 3D, uses jit.gl.isosurface for visualization and rendering Key Objects: norm, snorm, cell, dim, length, jit.gl.isosurface
- Particles: moving points through space using vector fields, vector math and quaternions Key Objects: dot, length, qrot, noise, jit.gl.mesh
- Materials: generating textures for use with jit.gl.material Key Objects: jit.gl.material
- Surfaces: surface generation and manipulation Key Objects: sphere, torus, etc., jit.gl.mesh
- Rendering: post-processing captured 3D rendering using jit.gl.node and jit.gl.pix Key Objects: sample, jit.gl.node
I often have the impression that the Gen objects are underutilized, particularly in Jitter. Only one or two people who attended the workshop had ever used Gen before. After spending some quality time with Gen and going through the curriculum, pretty much everyone had become enthusiastic Gen users. There was just too much goodness to be had.
To spread the wealth, the patches developed for the workshop are being made available here along with the patches I made throughout the five days of the workshop itself. Have a look at the README in the download for info on the different folders. Feel free to borrow, steal, fork, and extend the ideas presented!
Download: BEK Workshop Files
Special thanks to BEK and all of the workshop participants for an amazing week. Credit for the images used in this post goes to: