Jim Brooks
Florida, USA
brief resume    e-mail    LinkedIn profile    Word resume   business card (EA)

BRIEF SUMMARY:

I'm a graphics programmer.
Recent jobs have been to improve the graphics of older software.
"It looks awesome now!".

OPEN-SOURCE PROJECTS:


Video (MPEG is hi-res but large): YouTube video of flight simulator  
Developed a flight simulator based on OpenSceneGraph.
Has the ability to fetch and render satellite imagery using OSSIM.
Previous version rendered using a 3D engine I designed and implemented.

TECHNICAL EXPERTISE:

PROGRAMMING LANGUAGES & TOOLS:

Programming languages:     C, C++, STL, Lua, Python, Java, design patterns
Programming tools:     GNU tools (gcc,gdb,etc), Subversion
Computer graphics:     OpenGL, OpenSceneGraph, scene graphs, 3D engine design
Game console programming:     Microsoft Xbox 360 devkit

GRAPHICS PROGRAMMING:

3D engines:     design, implementation
scene graphs:     OpenSceneGraph, SGI Performer
graphics API:     OpenGL, GLSL shaders
modeling:     Blender

ENGINEERING EMPLOYMENT HISTORY:

GRAPHICS/GAME/SIMULATION PROGRAMMER [2005..PRESENT]:

    Simulation Software Engineer - Perry Slingsby - Palm Beach, Florida - 2008...2008
    Summary: Simulator programmer
    o Programmer for a simulator of underwater remotely-operated-vehicle (ROV).
    o Simulator is based on OpenSceneGraph and CMLabs physics engine.
    o Wrote OpenGL GLSL shaders for realistic graphics (shadows, spotlights, fog, water reflection, etc).
    o Wrote animation code (movement of ROV, particle-system, water-surface waves).
    o Lua scripting.

    (Sabbatical) - 2007...2008
    o Devoting time to my flight simulator project.

    Flight Simulator Software Engineer - Compro Computer - Melbourne, Florida - 2006...2007
    Summary: flight simulator programmer, graphics programming
    o Graphics programmer for a flight simulator.
    o Wrote C++ code on Linux for OpenGL and OpenSceneGraph (OSG).
    o Developed real-time rendering of weather, sky, and cloud models.

    Software Engineer II - Electronic Arts (Tiburon) - Orlando, FL - 2005...2006
    Summary: Game programmer
    o Software engineer for Madden 07 football video game (Xbox 360).
    o Used Microsoft Xenon SDK and EA's game tools and libraries.
    o Wrote C++ code for graphics, animations, online gaming, and networking with servers.
    o Improved camera system. Fixed bugs in replay.
    o Attended EA internal training classes (game AI, shaders, Maya, etc).
    o Wrote network code to report player usage of game features for product improvement.

LINUX/UNIX PROGRAMMER [2000..2005]:

    Software Engineer (Contractor) - et al - Tampa, Florida - 2003...2005
    Summary: Several contracts involving C++, Java, Linux system programming
    o Verizon: Developed fault-tolerant middleware for sending messages across WAN network.
    o Verizon: Designed load-balancer of UNIX processes.
    o Verizon: Developed a Java client that communicated with C++ middleware.
    o CommerceQuest: Debugged C++ code on UNIX.
    o [2003]: Linux system programming for 802.11 wireless device.

    Sr. Software Engineer - Ravisent, LynuxWorks, Stonefly Networks - California - 2000...2002
    Summary: Linux system programming.
    o Linux system programming for 3 companies.
    o Ported device drivers to other platforms.
    o Debugged failures of Linux kernel to boot on new custom hardware boards.
    o Wrote network code at the low-levels of Linux TCP/IP stack.

MICROPROCESSOR ENGINEER [1994..2000]:

    Sr. Software Engineer - Chromatic Research - Santa Clara, California - 1997...2000
    Summary: CPU microcode
    o Implemented microcode of a dual-core x86-compatible microprocessor.
    o Developed microcode from prototype to completion (full life cycle).
    o Microcode successfully booted popular operating systems.
    o Defined RISC instructions to optimize microcode.
    o Participated in design of CPU.

    Validation Engineer - Transmeta - Santa Clara, California - 1997...1997
    Summary: Verification of x86 microprocessor
    o Wrote CPU tests in x86 assembly language (again).

    Verification Engineer - Texas Instruments - Tampa, Florida & Dallas, Texas - 1994...1997
    Summary: Verification of x86 microprocessor
    o Wrote CPU tests in x86 assembly language.
    o Tests were written according to test plans and coverage measurement data.
    o Reverse-engineered Pentium's undocumented "Appendix H" CPU virtualization features
       and co-published the results in EE Times.

PATENTS:

Co-inventor of U.S. patent #5,826,084 [HTML, PDF] in microprocessor architecture (Texas Instruments).

PUBLICATIONS:

Co-authored "Pentium's Virtual Mode Extensions Revealed"
Electronic Engineering Times, November 13, 1995 issue.