Projects

Non-Photorealistic Rendering

Independent study on Non-Photorealistic Rendering
January 2005 - April 2005

This independent study proposes to tackle Non-Photorealistic Rendering in a comprehensive way, by implementing a broad variety of techniques, and considering their use in real time simulations. An Introduction

1) Non photorealistic Shading

Researching and implementing shading models such as Pen and Ink, Celshading Gooch shading, Anisotropic lighting. Introducing Goochel shading, a combination of Gooch and cel-shading.


2) Non photorealistic rendering of trees and smoke using billboards.

I apply and extend Morgan McGuire, Andi Fein, and Colin Hartnett's Real-time Cartoon Rendering of Smoke to the rendering of Pen-and-Ink Trees. For trees, the goal is to mimick the style of Computer-Generated Pen-and-Ink Illustration of Trees by Deussen and Strothotte.



Physics

Rigid Body Simulation

Implemented a real-time system of convex rigid bodies with collision, contact, friction (kinetic, static), stacking, and fracture. Based on the Nonconvex Rigid Bodies with Stacking paper by Guendelman et Al.







Rendering

Photon Mapping
February 2006

For my CS224 class at Brown, I implemented Photon mapping, an extention of ray tracing that can handle Caustics and Diffuse Interreflection (Color Bleeding).


Ray Tracing
October 2004 - December 2004

Implemented a ray-tracer for my CS400 class. It supports local and global illumination models, reflection and refraction using Fresnel equations, shadows of transparent objects, and more...



Image-based algorithms

Image Analogies
March 2006

This project, done for my CS224 class, was based on the Image Analogies Paper by Hertzmann et Al.. In this paper, the authors present a single algorithm that can solve many different image-based problems, such as texture synthesis, super-resolution, texture transfer, artistic filters...


Removing Photography Artifacts using Gradient Projection
November 2005 - December 2005

Final project for my computer vision class. The goal of this project was to implement an algorithm that combines a photograph taken with a flash and one in ambient light in order to produce a higher quality resulting image. Based on the Removing photography artifacts using gradient projection and flash-exposure sampling paper by Agrawal et Al.



Animation

Advanced Animation and Modeling
May 2004 - July 2004

At DigiPen, CS460 is divided into 4 coding projects: Skeletal animation; Path following and motion blending; Inverse Kinematics; and finally Rigid Body Dynamics. Subjects such as animation file formats, quaternions (interpolation, splines), and Catmull-Rom splines (my favorite kind :) ), are covered in the process.

I was also the TA for the class, where I lectured about importing data from animation file formats, making an exporter for 3D Studio MAX, and other special topics.


2D Skeletal Animation and Character Editor
September 2003 - April 2004

I created the character and animation editor for my sophomore game, Crimson Legend. Our goal was to create a 2D fighting game that did not require us to draw each individual frame of animation. We decided to design a 2D skeletal animation system, similar to what is done in 3D animation and modeling package such as Maya, but in 2D.



Misc


C# gui for C++
November 2005

So many times I thought: "I would really like to have a C# GUI for this project, but I have to use C++."

This is a library that allows a program to run a separate C# application (side bar) to handles all the GUI, and communicate changes to the C++ app. It's helpful for demos (such as my NPR demo), in which parameters are clearly defined.







Website copyright (c) 2004-2007 Marc ten Bosch, all rights reserved.
Some project and game content copyright (c) 2005 DigiPen (USA) Corporation, all rights reserved.