Can Yuksel Texas A&M University – MS Visualization Sciences can@tamu.edu http://www-viz.tamu.edu/students/can DEMO REEL ‘06 These are my personal projects. All the features of these projects are my original works and were created with the following softwares: Programming Languages: C++, OpenGL Programming Software: Microsoft Visual Studio.Net Modeling & Rendering: Autodesk Maya, 3D Studio Max with Mental-ray Textures & Compositing: Adobe Photoshop, Premier and After Effects PART 1 - PROGRAMMING Real-time impulse based Rigid-Body Simulation and Rendering 10/2006 The aim of this project is to simulate realistic rigid body interactions in real-time. I used CPU for all simulation calculations and programmable graphics hardware (GPU) for advanced rendering and shading computations. Simulation: The hardest part of the simulation is the collision detection stage due to its high computational complexity. To achieve real-time performance, I implemented an optimized method that avoids calculating every possible collision between each object pair. Using a bounding volume method to decide which pairs are most probable to collide, costly narrow-phase collision detection computation is only called for close objects. Broad-phase fast collision detection is applied for distant objects. “Rest-in-contact” is another feature that has a significant effect on the visual outcome of the simulation. Because of the continuous gravitational force, objects tend to penetrate the bodies that they are supposed to come to “rest in contact.” This problem is handled successfully in my simulation. I also integrated particle simulation that generates smoke when objects collide with the environment. Rendering: Using high programmable capabilities of new graphics processors, one can achieve visually appealing renders without compromising real-time performance. In my demo, I implemented smoke (particles), specular maps, shadow mapping, HDR effect, depth of field and motion blur. All these features demand five more passes to render before showing the final render for each frame. Specifications* - Simulation - Processing Unit: CPU Rigid Object Type: Box Rigid object Number: Real-time: 225 Offline: 6400 Iteration: Runge-Kutta 4th Order Rotation: Quaternion Collision Detection: Broad Phase: AABB (Dynamic Sized) Narrow Phase: Separating Planes Approach (Edge-Face) Collision Response: Impulse-based - Rendering - Rendering platform: OpenGL / Cg Effects: Fragment Shading, Specular Maps, Shadow Mapping, HDR Effects, Depth of Field, Motion Blur Real-time Car Simulation: 12/2005 The car is simulated as a rigid body with tires attached by springs to simulate suspension. I used Runge-Kutta order 4th integration and simplified object representation for collision handling. The car has a cube map reflection texture that is updated in real-time for each frame. Steering and acceleration are controlled by mouse, which allows more precise user control. Real-time Springy Mesh Simulation: 10/2005 For simulating deformable objects, I implemented a springy mesh with both linear and torsion springs. Any polygonal file can be imported and deformed in real-time. Specifications* Geo-sphere - Springs: 23040 Vertices: 2562 Faces: 5120 Interactive Modeling Tool: 06/2005 This is a modeling tool to manipulate an object created by a 3D-software. The program helps keep the symmetry of the object while editing the model. You can edit the model by inserting, deleting, and moving control points or directly moving individual vertices. Offline Ray Tracer This is my ray tracer and it is still in progress. It can render explicit primitive, polygonal, implicit, and fractal objects. Features Jittering Ray-traced Shadows (Hard / Soft) Reflection / Refraction (Unlimited) Texture Mapping Volume Tracing (Implicit / Fractal) Depth of Field Image Based Lighting HDR Global Illumination (Photon Mapping) *Specifications indicate details of the presented simulation in my portfolio. PART 2 - MODELING - ANIMATION - RENDERING Cloth simulation of the robots’ fight is simulated using reactor plug-in of 3D Studio Max. The rest of the animations are key-framed. PART 3 - GROUP PROJECT SUMMER ‘06 This project is in progress and it is in the rendering phase now. The piece that is presented in my portfolio is a small portion of the whole animation. For that piece, I did the animations (except characters) and the sound. Moreover, I did the modeling of the island (the table).