
Software Engineer at NVIDIA Corporation
York, United Kingdom

Software Engineer at NVIDIA Corporation
York, United Kingdom
Graphics: OpenGL, ES, Direct3D, DirectX, HLSL, CgFX, Collada, Maya & MAX plugins
Devices: Win9x, NT, VxD, VidCap, WDM, DirectX DDI, OpenGL ICD.
Languages: C, C++, C#, Objective-C, Python, Ruby, MAXScript, MEL, x86
Other: .NET, XML, Schema, MFC, XSLT, STL, COM, PhysX, REST, Cocoa, iPhone
OS: Windows, Mac, Linux
Goals: Keep doing what I'm doing
Software Architecture, Graphics Engines, Shaders & Effects, Device Drivers, Presenting.
(Public Company; 1001-5000 employees; NVDA; Computer Hardware industry)
September 2000 — Present (9 years 3 months)
At NVIDIA I've worked on many software solutions, mostly to do with graphics. I created the NVEffectsBrowser as a way to help engineers demonstrate vertex and pixel shader effects, along with many example shaders. I later worked on ShaderFX (an early version of CgFX), NVSD (an early vertex/pixel shader debugger), NVASM/NVDASM (shader language assembler), CgFX, Max and Maya drivers, etc. My main work over the last few years has been on a tool I created called FXComposer, which went through a couple of releases and enables artists and programmers to create shaders. It supports DirectX, OpenGL, Collada FX, etc.
I am currently working on PhysX and DCC plugins.
(Public Company; 201-500 employees; CREAF; Computer Hardware industry)
September 1995 — October 2000 (5 years 2 months)
I started at 3Dlabs by creating the first OpenGL driver for Windows95, working with Microsoft in Seattle. Later I worked with Microsoft in London to bring up one of the first Direct3D drivers on what was then DirectX 3. This continued, and the team grew, building DirectX 3,5,6 & 7 drivers. I later worked for a year as a graphics architect on advanced geometry algorithms in hardware.
I also worked on software simulators, helped with hardware design decisions, built drivers and ultimately tested them on hardware that was hours old. Side projects involved such things as VxD's, VidCap drivers, I2C, DirectX, OpenGL ICD, on Windows and NT. I also worked with Microsoft closely on the design of DirectX drivers; often bringing up the first drivers for their new API's (the permedia driver was the Microsoft reference DirectX driver for some time). Additional duties involved attending conferences such as the early 'meltdown's and speaking at Microsoft and 3Dlabs events on graphics.
(Electrical/Electronic Manufacturing industry)
September 1994 — September 1995 (1 year 1 month)
Worked on a video digitizer product. Built Win95 software to drive it through a VxD, and a Windows application to grab video from the card. Also packaged it, wrote the user manual, and sold it at trade shows.
(Electrical/Electronic Manufacturing industry)
January 1990 — January 1994 (4 years 1 month)
I worked part time here, during breaks from university/school. I designed a few RAM upgrade cards, including a 6-layer PCB for Acorn computers, and worked in the production room to build them using a wave flow solder machine. I occasionally did computer repairs, and various other electronics related jobs; including prototype PCB development.
Electronics Engineering , 1990 — 1994
Music & Musical Instruments. I listen to lots of Jazz & Classical, but just about anything really. I play piano, flute, clarinet, french horn & saxophone. I currently play horn for a local amateur orchestra; or attempt to! I enjoy photography, and my work can be seen on my flickr site.