Home Companime/ Immersion homepage/ comPanrama console software
 

Detail of the calculations Access in source
( translation in progress !)
Software to treat(manipulate) a field of 180 °

Manufacture of the images:
- Real recording: the only realistic solution consists in using a camera equipped with a fisheye optics.
        The obtained image is circular, in curvilinear perspective. We shall call it image-.
- Computer generated images:
      Real time( simulation, game): needs a fast interactive openGL or DirectX software.
            As these last ones work only in classic perspective we use the craftiness camera-cube described farther.
      Recording (frame by frame): a software such as PovRay knows how to make images fisheye, but "slowly".

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:
The mesh is unique
- Projection with fisheye outside the axis (off axis):
The mesh varies according to the configuration
- Projection with spherical mirror:
The mesh varies according to the configuration.


The camera-cube

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
A mesh is applied to every face considered as a texture.
This mesh will be put in correspondence with one of mesh opposite.
fisheye-mesh
( Do not take into account colours)
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
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 

ComPanFisheye
He allows to display fisheye images or video (. avi ) on a system with mirror.
It combines fisheye-mesh and miroir-mesh.

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.

There is a new version of the software. Not ready for download. Contact me about it.