The project consists of a packet-capturing engine, based on libpcap, and a visulization engine driven by the captured packets. Multiple visualizations could be developed. The included visualization uses a model in which the local user's computer is represented as a sphere at the center of a three dimensional space, and each connection to an external host is represented by a transparent cylinder connecting to another sphere. Each IP packet coming or going is drawn as a particle travelling in the tube. "Rocket exhaust" helps the human eye discern the existence and movement of packet particles.
The objective of this project was to figure out a practical algorithm for emulating the light scattering effect of materials such as wax, skin, and marble in real-time. The traditional offline methods of rendering scattering through BSSRDFs or photon gathering are very computationally intensive and cannot be rendered in real-time.
The goal of this project was to add surface rendering of molecules to vrRasMol. VrRasMol is a project currently under development at Iowa State University to provide molecular visualization and modification tools for virtual reality systems. The project is based off of the widely known RasMol software. One limitation of RasMol is that exterior points of the molecular are generated but unconnected. RasMol does not triangulate the surface. Using delaunay triangulation and alpha shapes, I am able to generate a hull of the points generated by the RasMol algorithm. Secondly, I decided that simply generating and rendering the surface was not enough. It would be more interesting to be able to look through the exterior surface inside the molecule and see the atoms and ribbon structures within. In order to accomplish this, I was planning on utilizing clipping planes and semi-translucent surfaces. Initially, I was going to perform the view dependant triangle sorting for translucency, but then opted to implement fragment shader based order-independent translucency.
I created a water effect for Empyrean, a 2D side-scrolling game, for my project. The player views the water from the side, seeing its surface as a curve. To create the feeling of water, I first tinted the underwater parts with an alpha blended blue color. I then added a waving effect to give the illusion of motion. This effect makes the background appear as if it is slowly rising and falling as you travel left to right across the screen. I also added light rays that darken and disperse as they travel through the water from a lit surface.
My Final Project for ComS 657X was to added some rendering techniques to an existing application. The application is an open source project that utilizes vrJuggler and OpenSG to make a completely data-driven application. It is meant for use by virtual reality projects to quickly get their project running by simply having to provide content and not write a new application. The following is what I added for my final project. The OpenGL shading language handling was added to allow shader programs for per-pixel lighting, procedural bump mapping, Gooch shading, and cell shading. Also, edge outlining and shadow mapping were non-shader techniques added.
My original goal was to implement a rendering engine that has all the features of a simple ray tracer, withour ray tracing. I was only partially successful in this endavour.
Radius is remake of the wonderful Gradius games, the best space shooters ever. The concept is simple. Fly around, destroying everything in sight, and upgrade your weapons while you're at it. This version is its early stages, but already many of the elements are there.
I wanted to create a 2D cave effect that gave the impression of being in a cave. I did this mostly by creating a mist effect. I did this with a fragment shader and a noise texture. I used variations in the offsets into the texture to create the wind effect. The position of the torch is also taken into consideration for making the mist disappear. I was originally going to do some shadows but I decided that the shadow effect wouldn't have added much in the cave that I had designed.
Use the idea from Engel/Kraus/Ertl "High-Quality Pre-Integrated Volume Rendering Using Hardware-Accelerated Pixel Shading" to speed up direct volume rendering using a small number of slices.
The Skeletal Animation Library project aimed to create a library for doing Skeletal Animation in hardware, using a vertex shader, if available. The project can load Cal3D files and animate and render them, as Cal3D can. This project also adds a few features that Cal3D did not have, such as a slightly higher bone capacity for skinning in hardware, as well as bone scaling.
This project investigated incorporating non-photorealistic rendering techniques into 3D scenes for the purpose of enhancing illustrations of assembly instructions, such as those one might get with a piece of unassembled furniture or a bicycle.
For this project I started with the idea of combining fire with simulated physics. Fire in most interactive applications today does not spread or affect things physically, so I wanted to try combining these two elements in my project. Specifically, I wanted to create a physically-simulated cabin that could be burned down. The three main components of this project were: 1) a description of the scene (including visual and physical properties) stored in an XML file, 2) fire that could spread from one object to another, and 3) flammable boards that could break off the main structure after burning for a while. This report discusses how the different aspects of this application were implemented and mention future work.
Particle Systems being one of my favorite topics in this course, I chose to utilize it for my final project and develop an application. Since most of my previous graphics projects were technical and research related, I wanted to do something different and more fun oriented and yet incorporate tons of particle system features. Having learnt that any object could be a part of a particle system scenario (sentinels in 'The Matrix', warriors in 'The Lord of the Rings', sand mummy in 'The Mummy', etc), I thought it would be a nice idea to have a neat looking landscape in a garden like environment with features such as waterfalls, birds, snow, rain, fire, leaves falling from a tree, etc. In addition, I also wanted to simulate a shape based particle motion similar to the sand mummy in the movie - 'The Mummy'. Hence went an approved project proposal.
This project is to use OpenGL Shading Language (GLSL) to implement 3D texture hardware based volume rendering with shading and improve volume rendering with pre-integration(K. Engel, M. Kraus, and T. Ertl, 2001). Using GLSL and multi-texture feature of the graphics card, it is easy to do the lighting calculation in shading and operate the 3D texture containing the original volume and the 2D texture containing the pre-integrated values. We found that pre-integration can smooth the staircase effect that volume rendering without pre-integration will have when number of sampled slices/slabs is low. Furthermore, this smoothness doesn't sacrifice the frame rate.