Portfolio

Image

Simulation

Image

Game Industry

cloth simulation

Projects

Mimic Technologies, Inc.

2011 — present

Position: Software Engineer

Responsibilities: Key member of a small team that is developing a 3D stereoscopic haptic-enabled virtual reality simulator for training surgeons in robotic surgery. My primary responsibility is all things graphics and rendering. I've implemented systems for physically-based dynamic lighting, real-time shadows, post-process effects, real-time deformation, UI, audio and sound effects, and streaming video. I also developed the tool-chain for exporting scenes and assets from Maya into the simulator.

Rendering / Animation

More

Shaders

More

Tools / Pipeline

More

Effects / Post-Process

More

Gameplay

More

UI

  • Screen-space overlay system
  • Loading screen system

Audio

  • Streaming audio system
  • Sound effect authoring
Game: XCOM: Enemy Unknown
Position: Senior Graphics Programmer

Responsibilities: Rendering and engine programming.
Modified and extended the Unreal Engine 3 to meet the specific requirements of the project.

Game: Sid Meier's Civilization Revolution
Position: Graphics Programmer

Responsibilities: Implemented a variety of graphical systems, including but not limited to the ocean, waves, rivers, roads, bridges, and a terrain contour system. See screenshots below. Also performed graphics optimization, localization coding, and voice-over acting.

Screen Shots


image

Cloth Simulation

This project is a soft body physics system that simulates cloth.

image

Parallax Bump Mapping

This project is a real-time shader that enhances bump mapping by simulating visual parallax.

image

Renderman Image

This project was created as an excercise while learning the RenderMan interface.

image

Distributed Multiplayer Tic-Tac-Toe

The goal of this project was to design a game that used a client/server architecture and would allow any number of players to play simultaneously over a network. The choice of the game itself was purposely kept simple, in order to focus on the client/server design.