Experimental Camera

NOTE: this sketch ONLY works in Chrome due to WebGL implementations.

Original Sketches/Pseudocode

The Primary Sketches

Initial Thinking/Process

When first reading through the assignment and its associated literature on the CC website, I noticed a link to a tutorial on using shaders in p5; I spent the entire summer trying to teach myself how shaders and the GLSL language they're programmed in works, so I figured I'd take this assignment as an oppourtunity for some personal skill growth. Knowing I would use a shader, I sketched out three possible iterations of my hypothetical camera (only one of which is still present in the final product) and settled on implementing a sort of blobby face follower. The original intent was to create a camera capable of meshing faces into colored blobs with the goal of highlighting the fundamental notion of humanity as social and, at its core, united.

My original plan fell through after I began implementing clmtrkr.js and found it could only accurately output the position of a single face. With this in mind, I took the notion of blobs, something only really possible using a shader, and expanded on how shaders compile and present data in a distinctly digital and mathematical way. Working with shaders was nothing short of a nightmare even up to this beginning point, and I embodied this in my experimental camera's presentation of human versus machine conflict: the webcam mangles user input beyond recognition while still keeping track of the location of the user's eyes, obscuring what it sees while still clearly offering an observer vs. observed dialectic. Offering only color while simultaneously providing an uncannily accurate readout of the viewer's eyes is the heart of how my shader acts as a digital barrier between human understanding and machine observation.

Below are images captured through my laptop webcam of my girlfriend and I. Respectively, the images are of: 1. My face, 2. Me wearing a red sweater, 3. My girlfriend's face, 4. Me wearing a blue and gray shirt, 5. An attempt to block the camera, and 6. me fully blocking the camera. Of particular note is how the camera managed to collect a massive amount of data in the last image even while the feed was mostly blocked and blacked out.

My face Me in a red sweater My girlfriend's face Me in a blue shirt Blocking the camera with a hand Fully blocking the camera

Reflection

Foremost, this project taught me a massive amount about shaders and got me in touch with tutors in DT study who remain immensely helpful and likely will for my remaining time in DT. Learning how to use GLSL in p5 brought massive headaches and a week-long bottleneck concerning the final composition of my image and the math required to distort the webcam feed and still give a readout of the viewer's eyes. Overall, it was an immensely stressful process laden with hours spent frantically searching through YouTube tutorials for example code and learning references. If I could, even with all the anxiety that came with it, I'd build a shader again in a heartbeat.

Thinking about the possibility of a camera to capture an instance in a non-traditional way came much more naturally. I've been fascinated/horrified by the current state of machine surveillance for years and finally got a chance to make something concerning it while using the oppourtunity to learn something for myself. While this project proved to be much more difficult than it needed to be exclusively because of my hardheaded commitment to understanding shaders, the overall process was an enjoyable one and the contacts I made along the way are invaluable.