Highly motivated technology programmer interested in various fields. I have experience developing object oriented and data oriented techniques, GPGPU solutions, SIMD programming, low-level animation and compression, and working with the 360, and the PS3 and SPU programming.
|
Technology Programmer 1/2010 – Present
Human Head Studios, Madison, WI
- Developed a distributed, job-based render farm for lightmap baking in C++, C# and Python.
- Implemented a GPU ray-traced global illumination lightmap baking pipeline using Nvidia’s CUDA & Optix in C++ and CUDA C. Supports multiple light types, and multiple bounces.
- Researched and developed animation compression library and tools using C++ and SIMD. Animation data first compressed by fitting data to hermite splines, quantized, then zip-compressed. Decompression ran entirely on SPU jobs. First unzipped and then hermite interpolation used to sample spline-based animation. Enabled up to 50x compression ratios.
- Developed additive animation system in C++, including export tools and run-time blending.
- Implemented cross platform SIMD math library for 360, PS3 (PPU and SPU) and PC.
- Developed Xbox 360 HDR rendering solution,
based on Bungie's Gamefest Presentation [link]
- Implemented GPU volume texture color grading for 360, PS3, and PC.
Software Engineer 5/2009 – 1/2010
Purdue University, West Lafayette, IN
- Developed skeletal and facial animation software for use with interactive sign language applications in C# and XNA.
- Implemented GPU Dual-Quaternion skinning, CPU & GPU Morph Target Blending, and a custom ASL scripting language and compiler.
- Developed a custom ASL scripting language using Antlr with on-demand compiling from ASL script into animation.
- Developed a database with MS SQL Server and LINQ to SQL for creating/tracking sessions, users and their performance statistics. C# and LINQ were used to perform database queries.
Software Developer – Intern 5/2008 – 8/2008
Gabriel Entertainment, Indianapolis IN
- Ported hlsl shaders to the Wii’s fixed function pipeline.
- Developed the Wii port of the audio framework. Functions include: playing, pausing, and stopping audio samples, streaming from disc, and threaded background loading of streams.
Graphics Researcher 1/2008 – 5/2008
Purdue University, West Lafayette, IN
- Developed and researched methods for applying Non-pinhole Impostors for approximating scene geometry for interactive reflections and refractions, using C++ and Cg.
Software Developer – Intern
Flexware Innovation Inc., Fishers IN 5/2007 – 8/2007
- Tested and fixed bugs in the update of their Manufacturing Director software platform.
- Developed an application in .Net that allowed the user to visually add and delete available peer relationships that were defined in the database; Extension was included in their 3.2 release.
- Ported, optimized and added functionality to an older VB.Net framework to their current platform. Functions included: Refactoring preview, a dynamic property grid used in the Form, dynamic drop-down lists, copying while retaining all database information and relationships.
|
Non-Pinhole Approximations for Interactive Rendering Vol 31, #6
IEEE Computer Graphics and Applications November 2011
- Demonstrates the advantages of methods for applying Non-pinhole Impostors for approximating scene geometry for interactive reflections, refractions, relief texture mapping, and ambient occlusion.
[link
to paper]
Effective Animation of Sign Language with Prosodic Elements
SIGGRAPH Talks 2010
- Describes an innovative software tool that allows educators of the Deaf to add sign language translation, in the form of 3D character animations, to digital learning content.
Signing Avatars
Virtual Immersive and 3D Learning Spaces: Emerging Technologies and Trends, IGI Global 2011
- Chapter discusses innovative skeletal and facial animation software for use with interactive sign language applications. The software enables on-demand compilation of ASL scripts, dynamic concatenation of sentences, and easy creation of new gestures and facial expressions.
|
Languages
- Proficient in: C/C++, C#, Java, HLSL/Cg
- Experience in: MIPS assembly, SIMD, SQL/LINQ
APIs
- Microsoft DirectX / MDX, XNA, OpenGl, O3D
- JSR 118, Swing
- FMOD, WWISE
Platforms
- Windows, Linux, Xbox 360, PS3, Wii
|
Software
- Performance Analysis: PIX, GPAD, NVPerfHUD
- Frameworks: .Net
- Source Control: Perforce, Visual SourceSafe, SVN
- IDEs: VS 7.1/8/9, Radix, Eclipse, Netbeans
Math
- Calc I, II, III
- Linear Algebra
|