» Projection Mapping Primer
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Projection Mapping Primer

French

When talking Projection Mapping you have to essentially distinguish between two different types. Depending on your prerequisites and desired visual effects you'll have to choose between:

Homography Approach

If you only need to project flat content onto flat surfaces, ie texturing some real-world flat geometry with some animated wallpaper, go for this simplest of approaches. It is named after the math behind it and essentially allows you to throw an image onto a flat surface from an arbitrary projector-position as if it was thrown on the surface head-on.

badMapper

On OSX there is a software called MadMapper that uses this appoach and lets you pipe any flat content through onto arbitrary flat real-world surfaces. In vvvv you have the Homography (Transform) that would be the basis of any such mapping tool. See badMapper for an example that establishes a basic workflow.

Re-Projection Approach

If you have a more arbitrary or even curved surface to project onto you need two things:

  1. a virtual copy of the surface/geometry you want to project onto
  2. the projectors lens characteristics and its position/rotation in respect to the surface

ad 1) Regarding the virtual copy of the surface you can either:

ad 2) In order to get the projectors lens/position/rotation you have 3 options:

  • manual: take manual measurements of its position/rotation and look up the lens characteristics in its manual
  • semi-automatic: use CalibrateProjector (CV.Transform) from the Image Pack. Check this contribution to see the workflow.
  • automatic: use a solution like BSM Auto Alignment

With those two things at hand you can now setup a scene to project a virtual copy of the geometry on its real counterpart. Now any visual effect that plays on the surface of the virtual geometry, like light/shadow/texture animations will seemingly be part of the real-world geometry.

Examples of this approach are Lightstrive and Pablo Valbuena's Augmented Sculpture Series.

For the basic setup of a 360° projection on a cylindrical screen, including soft-edging, see: small 360 degree setup.zip


Further Reading: Achieving 3d-Illusion effects

One very popular thing with projection mappings is 3d-illusion kind of effects like seen in Pablo Valbuena's The Hague City Hall projection or AntiVJ's Nuit Blanche Bruxelles projection. It is to keep in mind though that these effects only work for the audience when they stand in the right spot because when creating the effect a perspective has to be chosen for which the illusion is created.

So here is what you do:
You capture the virtual scene from a position which corresponds to the desired position of the audience. Then from that same position project the captured image onto the virtual geometry. This results in a scene where your desired 3d-effects are now a flat texture on the surface of the virtual geometry. Once you have that you go with the Re-Projection Approach as mentioned above.

anonymous user login

Shoutbox

~3h ago

joreg: Don't forget: This months #vvvv meetup in #berlin is happening on the 27th: 12-berlin-vvvv-meetup

~3h ago

joreg: @u7 @CeeYaa, we're investigating this...

~4h ago

tonfilm: Under the hood: We switched from #SharpDX to #Xenko math. vl-switch-to-xenko-math VL vvvv #visualprogramming #dotnet #creativecoding

~9h ago

CeeYaa: haha it was frozen for 10 seconds when I send this Shout before - using Firefox

~9h ago

CeeYaa: hui really slow speed on MainPage, Contributions ... speed in Forum quite OK

~12h ago

u7angel: mmm, the site is really slow now.

~22h ago

joreg: PSA: and we're back!

~2d ago

joreg: PSA: Thursday night starting 11pm CET vvvv.org will move servers. If all goes well we should be back soon after.

~3d ago

joreg: But first: This Friday in Berlin: Join our full day "Getting started with Generative Design Algorithms" workshop https://nodeforum.org/announcements/workshop-getting-started-with-generative-design/

~3d ago

joreg: In #Linz for #ArsElectronica? Join us for a free 2 days #vvvv workshop sponsored by businesses/responsive-spaces-gmbh Apply here: 2-day-gamma-vvvvorkshop-at-responsive-spaces-in-linz