Sibenik Cathedral Walkthrough - OpenGL
A CAVE VR environment can run a variety of applications.
One of them is an architectural walkthrough.
In this particular project, I programmed the OpenGL code to read and
display the Sibenik Cathedral model. In particular, the code is
able to run several instances of itself, in a fashion that
each rendering screen can be displayed in one wall of the CAVE VR environment.
Grabber Class: Video Capture using V4L API
it was usefull back then in 2000, for those who remember the ordeal of capturing video under linux...
This is a wraper class for the Video4Linux API.
It has fewer calls and is supposed to facilitate the use of the Video4Linux API under Linux.
There is also a wraper for the XLib library in order to open a window and display the captured images on it.
This is an attempt to make a unified working C++ class to open, read, capture and configure a frame grabber under linux running a compliant video4linux driver.
Looking around the web, I found it difficult to find something that would meet my requirements of simply opening my frame grabber device and returning me a captured frame. I started then to write my own code to do that.
This class was built and tested using a Miro DC10 Frame Grabber. I am using the DC10 driver from Seguei Miridinov's page. Since, the only card I had avaliable at the time I wrote was a DC10, I haven't tested in other systems yet.
So far, the restrictions for capturing are a maximum size of 240x180. This number comes from the amount of memory my running kernel has made it avaliable for me to work with. This can be changed by recompiling the kernel with appropriate values.
Interrupt handlers are not yet implemented. What does that mean? It means that if not correctely configured, when then Grabber::Capture() function, it may return with an invalid image, or worse, it may not return at all.
Another class developed to test this grabber class was a visualizer class called XDisplay. I am using Xlib to display the captured images in a window. It is also showing the frame rate at which the capture is being made.