Skills

Skills

.

Seasoned in navigating plethora of ever changing cell phones of highly variant form factors and carrier/operator specific certification requirements. Utilize ingenious math techniques and algorithmic modifications to thrive with limited computation speed and memory foot print.   An early advocate of browser based web applications based on Java and Flash technologies. Dedicated to spread rich internet applications such as web based 3D environment and 3D interactive merchandise demonstrations.   Software rendering expert. Implemented fully featured 3D engine, triangle scan-conversion and rasterization pipeline on without any underlying 3D hardware. Developed ray tracer / path tracer with importance sampling schemes for physical based realistic rendering with global illumination, light transport equations, atmospheric scattering, and reflective/refractive BRDF models.   Wide knowledge of modern programmable shader based graphics programming, from various shadow algorithms, parallax occlusion, to pre-computed radiance transfer via spherical harmonics. Navigate smoothly among fx formats, shader models, to inherent hardware differences.   Experience with 3D model interchange formats, from scene graph based geometry storage to material descriptor formats. Parse formats such as .3ds, .obj, .m3g to and from 3d applications and content authoring software such as Blender. Experience with various image formats, loading high dynamic range image formats such as .hdr and OpenExr.   Program multi-core CPUs to realize timely calculations of long and complex tasks. Versed in multi-threaded programming style to block and synchronize running threads for data parallelism. Solid management experience, mentoring team mates from understanding of concepts to productive development, while addressing conflicts and maintaining team-oriented cohesion.

Work History

Work History
Feb 2008 - Present

Senior Engineering Scientist

X-rite

Developed reflectance simulation application. Load multi-angle spectral data from MA98 spectral-photometer device as data for 3D real time vehicle paint simulation based on BRDF models.

In collaboration with universities in academia, captured textiles with gloss and texture variation. Implemented iPad OpenGL application for real time simulation with view independent appearance  adjusted by iPad accelerometer.

Participated in development of the Manta real time ray tracer from University of Utah. Implemented global illumination algorithms to be used as internal renderer for appearance simulation and validation.

Developed Matlab project to analyze gigabytes of captured view and light dependent images for industry materials. Employed mathematical optimization to find plausible function fit for discrete BRDF/BTF data.

Oct 2004 - Present

Software Engineer

Hands On Inc.

    Developed on Qualcomm BREW platform 1.x and 2.x platforms such as game TopGun II. Implemented collision detection accuracy for bullets. Reviewed bloated art assets and developed code paths to unload less important ones to suit memory requirement.

    Worked on GameCenter Baseball, a networking API to query server for live data feeds. Identified and analyzed memory fragmentation causing program crashes. Developed memory allocation pool to fix crash. Efforts paid off and application was saved from being canceled.

    SpiderMan game. Developed and enhanced web slinging accuracy to prevent user being stuck. Implemented comic style dialogues for high end devices.

May 2006 - Feb 2008

Senior Software Engineer

Namco Bandai

    Collaborated closely with Apple's iPod team to develop first OpenGL based 3D game on the iPod, while improving and influencing iPod API development. Generated race tracks based on spline interpolation. Utilized album CD covers as in-game billboards. Re-developed game for iPod mini platforms.

    Reviewed and analyzed legacy code for timeless classic games such as Pac-man, Ms.Pacman, and Digdug. Refactored code for recent and modern systems, discovering and fixing logic errors, memory leaks.

    Developed on Qualcomm BREW 1.x through 3.x platform. Redeveloped game memory and screen requirement to work on devices with less than 300k in memory, small screen devices. Developed advanced user interface for devices with huge screens.

Early development of 3D games such as Time Crisis. Discovered and fixed inadequacies in the 3D engine such as reappearing texture seams and incorrect polygon draw order. Enhanced graphics and implemented anti-aliasing for higher end devices.

Education

Education
Aug 1999 - May 2004

B.A.

University of California, Berkeley

.

Commercial Game Development

Ray tracing: virtual simulation

Path tracing implementation

Fitting BTFs to BRDF model

Web app: 3D virtual merchandize

A prototype web application that operates a virtual car show by displaying real 3D, fully rotatable vehicles within any Java capable browser.

Features high degree of realism at interactive frame rate.

User can view 20 or so different vehicles from Ford, Chrysler, Toyota, Fiat, and etc..

User can switch background environment, from urban, historic, and natural scenes.

Mesh repair project

A research project together with PhD. Yasuke Yasui and professor Sarah McMain of U.C. Berkeley. It was a new algorithm that employs dual contouring to analyze mesh with holes, dangling triangles/vertices, and perform repair/reconstruction in stages.

Summary

As a self-driven leader spearheading cutting edge software development, I draw on my eight years of experience in games/3D graphics/realistic rendering.

With advanced understanding of theory and mathematics I both develop and lead teams to brainstorm, implement, and refine research results into innovative products and services.

APIs and IDEs

Languages: C/C++, Java, Cgfx, GLSL, HLSL, Matlab, Actionscript3, Php/MySQL

Frameworks: nVidia, DirectX, AMD/ATI SDKs.

APIs: OpenGL (ES), DirectX, Java mobile 3d graphics. Qualcomm BREW, J2SE/J2ME, Flash 9/10.

IDEs: Visual Studio, Eclipse JDT/CDT, FX Composer, RenderMonkey, Cygwin/g++/gcc

Knowledge of the differing and evolving OpenGL API, from multi-threaded desktop PC to computation restrained mobile phones/iPhone/iPad.

.

Texture Synthesis

Pixel shader projects