Christopher Wei

15 Feb 2016

Demo


Resultsoutput-2-rescale

output1-rescale

Description
I used the SenselMorph to make a drawing program using ofxSenselMorph. The touchpad’s api gives up to 16 points (as of now), each of which contains a x,y coordinate, pressure, major and minor axis and degree of rotation. With these, I began to try and make some sort of finger painting program which seemed the most reasonable use case for a Sensel as opposed to another device. Eventually, after facing some limitations in the API and the sampling rate, I ended up with a mesh based drawing program, where the user can deform a mesh grid by pressing down on the Sensel. Turns out doing the translation between rotated ellipses to mesh coordinates is tedious and hard to get right completely — and somewhat slow. Instead, I chose to implement the drawing process using a frame buffer, which reads in points of contact, translates them to ellipses and simply draws them into the buffer, offsetting all the workload to the GPU. The mesh then simply subsamples the frame buffer accordingly to produce a z axis. Later on I added the option to have multiple frame buffers which cycles infinitely, allowing users to create some awesome animations.

Github