( translation in progress !)Home Companime/ Immersion homepage/ comPanrama console software
Detail of the calculations Access in source
Projection of the images:
- Projector equipped with a fisheye: it throws directly images-fisheye.
In computer generated images, the 180 ° image given by the camera-cube is real time adapted, by the computer, by means of a fisheye-mesh.
- Projector equipped with a spherical mirror: it throws special images that we shall call images-warped.
Computer generated images: the 180 ° image given by the camera-cube is " warped "in real time, by the computer, by means of a mirror-mesh.
Real sights: the solution consists to " warp " images-fisheye, in real time, by thecomputer, by combining fisheye-mesh and mirror-mesh.
![]() |
![]() |
![]() | |||
- Projection with fisheye in the axis: |
- Projection with fisheye outside the axis (off axis): |
- Projection with spherical mirror: |
Fast 3D software tools (OpenGL or DirectX API) associated to the very fast graphics cards developed for the games, know only the classic perspective. As it is unthinkable to go without their real-time performances (think of the video games), we by-pass the difficulty by taking successively several images from the same point of view in different directions. These images are then deformed (warping ) and assembled to produce an image which can be thrown to the dome. We thus place the classic (virtual) camera in the center of a cube and we take several photos by centring successively every face of the cube (supposed transparent to let see the landscape). According to the chosen technique we shall take 3, 4 or 5 photos. The simplest case is that with 5 photos: a photo of face, one towards the left, one towards the right-hand side, one upward and one downward (simple but with wasting because we use in fact only half of 4 lateral faces). |
![]() |
|
|
|
Mesh-cube |
fisheye-mesh |
mirror-mesh |
The software
There are two specific basic (object) classes:
- CPanCamera the camera-cube
- CMesh who builds and applies the different meshes under control of the class CPanCamera.
Common characteristics
ComPanFisheye
The software are written with the Microsoft MFC Visual 6 environment. It concerns especially
the dialogue boxes because the class CMesh and CPanCamera are simply C++ and are
easily portable on other system.
They are downloadable here (with source) under the license CeCILL which is an adaptation to the French law of the Open Source licence.
The software is adapted to my configuration: projector 1280x720, computer display 1280x1024 or more. It is
however easy to adapt the source.
I use the bi-screens output of the graphics card (ATI or NVIDIA).
Both screens constitute a unique and large image.
A button allows to display the image either on the computer monitor, or on the projector.
Extended desktop mode
All the files files must be put (exe and data)in a directory \comPanrama \, in the root of the disc.
ComPanConfig
Serves for defining the configuration of a system with mirror.
( A system in fisheye centred has only one possible configuration).
ComPanCamera
It is a simple demoonstration program and being able to serve as base of development.
Scene 0
Scene 1
He allows to display fisheye images or video (. avi ) on a system with mirror.
It combines fisheye-mesh and miroir-mesh.