FUN PROJECTS


 
 

Ray tracer
classic computer graphics 101 assignement...
This is a simple Raytracer (still single threaded, working on multi-threaded version). It compiles under several flavors of Linux and also OSX.


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.


CAVERNA Digital USP
I have been involved in the specification and development of a CAVE VR environment at University of Sao Paulo (called CAVERNA Digital USP). This system was the first VR immersive environment in Latin America. It was also one of the first VR environments worldwide to use Graphics Clusters and Distributed Rendering for powering driving the system.


3D Video Capture and Transmission
This project is intended to capture 3D video data (using 2 cameras as input for the stereo pair) in order to view it using polarization goggles, like in a CAVE environment. Any firewire camera can be used. This software also allows you to run it from a laptop and wirelessly transmit the data over the network to another computer to visualize the captured data in real time. More information can be found also here .


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.


 
 

Photo © Marcio Cabral ///Gourdon Fev.2010///