Arbitrary Surface Projection Mapping - DIY CAVE
Posted: Tue Nov 08, 2016 1:09 am
Hello
I thought this would be a good place to share a proof of concept of mine: Arbitrary-Surface Projection Mapping
Inspired by Paul Bourke's article, this project aims to enable the construction of DIY CAVEs using off-the-shelf hardware and game engines. It works by pre-baking the
mapping from projector pixel to world coordinate into the vertex color of a tesellated plane mesh. This world position is then reprojected through the user's viewpoint
camera in a shader, thus warping the projected image to compensate for the perspective/projective distortion of the user's view position.
This technique costs very little (computationally), allows for the use of an on-axis projection matrix, can compensate for curved reflecting surfaces, can trivially be
extended to stereo, and enables the construction/calibration of complex projecting systems using existing VR hardware (Vive and a standard gaming rig).
Here are a couple of pictures (showing what a flat grid pattern looks like before correction, and what it looks like after correction):
And here's a short video of poor quality:
https://www.youtube.com/watch?v=IcZejDUULB8
I thought this would be a good place to share a proof of concept of mine: Arbitrary-Surface Projection Mapping
Inspired by Paul Bourke's article, this project aims to enable the construction of DIY CAVEs using off-the-shelf hardware and game engines. It works by pre-baking the
mapping from projector pixel to world coordinate into the vertex color of a tesellated plane mesh. This world position is then reprojected through the user's viewpoint
camera in a shader, thus warping the projected image to compensate for the perspective/projective distortion of the user's view position.
This technique costs very little (computationally), allows for the use of an on-axis projection matrix, can compensate for curved reflecting surfaces, can trivially be
extended to stereo, and enables the construction/calibration of complex projecting systems using existing VR hardware (Vive and a standard gaming rig).
Here are a couple of pictures (showing what a flat grid pattern looks like before correction, and what it looks like after correction):
And here's a short video of poor quality:
https://www.youtube.com/watch?v=IcZejDUULB8