As part of our Underbelly Arts project, Dusk, I am working on a way to create the illusion of moving lighting on objects. In fact, the way I’m approaching the task is not so much about lighting, but instead generating false shadows on and around objects.
This ties in with the work I have been doing as part of my major university project piece this year, so the technology remains the same: Quartz Composer (QC) generates visuals and Max/MSP controls parameters within the QC patches.
Where I have started to work on new ground for Dusk is in testing visual perspective vs orthographic projection. The images created will be cast in a top-down fashion from a data projector, connected to a laptop. Because this projector will need to reach all sides of a physical shape, the loss of planes in a visual perspective won’t give me the desired effect. However, there will obviously be a point-of-view from the projector that will create some degree of perspective, so a purely orthographic projection won’t give a realistic effect either.
QC uses a viewing system that is heavily perspective (almost wide angled) and therefore, creating multiple objects within QC wasn’t working for me – planes were disappearing on the outer edges of the viewing window. Using Kineme’s GL Ortho plugin removed the perspective, but created all kinds of dramas with the way shadows were being rendered. Shadows definitely don’t ever benefit from being orthographic. I overcame this by wrapping a perspective object within an orthographic one. By removing the shadow casting from the orthographic object only, it gives the impression that it’s casting a correct shadow.
Regardless of the way the objects are created (perspective or orthographic), they’re much easier to control when placed at the centre of the QC coordinate grid. Obviously only one object can be placed there, so I started work on Max/MSP displaying many instances of the QC patch – all at the centre of their respective QC grid.
The video above shows the comparison between the orthographic QC patch and the purely perspective-based QC patch. Both are receiving the same parameters from Max/MSP to control shadow direction, with the addition of mixing both outputs together, controlled by the DIPSWindowMixer object.
The next step for this has to be some physical testing in the space we’re going to be working in. Tomorrow we should have the opportunity to spend some time in the space that Dusk will be ultimately completed, so I should be able to get some ‘real world’ results of different projection styles then.