PETER : HOME : RESUME

Employment

    6/05 - present Industrial Light + Magic
    Software Engineer
    Research and Development

    I'm currently working in the core Zeno R&D group, mostly concerned with UI and workflow improvements.
    11/04 - 6/05 Reactrix Systems
    Senior Software Engineer
    Artists Tools Group

    Reactrix produces interactive projection systems used for entertainment and advertising. Since starting there I have worked with artists to create a tools roadmap for the company. These tools allow artists to author content for an existing core effects engine.
    • Led development of an application framework in Python and PyQt to meet the needs of the tools roadmap.
    • Developed an application to meet the immediate needs of the artists. This tool manages complex dependency graphs of data and properties, allowing editing of new or exiting content.
    3/03 - 7/04 ESC Entertainment
    Software Engineer
    Production Tools

    ESC produced the visual effects for the Matrix sequels as well as for Catwoman and Constantine. I was a core member of the Production Tools group where we developed the ESC pipeline. Responsibilities:
    • Implemented key components necessary to integrate Maya with the production DB using MEL/Maya API through collaboration with CG lead. Additional scripts written for production as needed.
    • Worked closely with the Virtual Background team to dramatically improve the VB workflow in Catwoman with two new applications.
    • Wrote and maintained the ESC Production DB browser and associated tools that allowed tracking of assets, tagging with custom data and searching.
    • Developed system tools for render farm status monitoring.
    • Credited on Matrix Revolutions.
    3/02 - 3/03 Bias Incorporated
    Senior Software Engineer
    Bias is a software company whose focus is on developing shrink-wrapped applications for the sound editing and processing market. There I was the responsible developer for an unannounced future Bias product, as well as a key designer of a multithreaded cross-platform framework on which it and other future Bias products will be based. Achievements include:
    • Introduced an XML-based framework for fast application development.
    • Architect of new document/view architecture.
    • Developed a dynamic UI layout engine as well as many custom controls.
    4/99 - 9/01 Pulse Entertainment
    Senior Software Engineer
    Pulse develops technology for display of 3D content on the internet. While at Pulse I was an integral part of the small engineering team, responsible for improving core technology and for developing tools to translate data from 3rd party applications to the Pulse platform.
    • Solely designed and implemented a complete, integrated plug-in for 3D Studio Max. Marketed as "Pulse Producer", this plug-in ships in the box with Max and allows users direct delivery of scene, animation and sound data into Pulse's online 3D technology. Multiple release cycles for English and Japanese markets.
    • Developed a translator plug-in for Maya able to export geometry (transform nodes, surfaces, textures, cameras, blend shape targets and skin binding) and animation (Trax based clip animation mapped into the Pulse non-linear animation system). Shipped on Maya 4 CD.
    • Implemented support for Maya data types in Pulse core technology, including transform nodes to preserve Maya scene graph and engineered a new deformation architecture.
    10/97-11/98 Harvard University
    Research Assistant III
    Computer vision work on 'shape from shading' for the Department of Psychology's Vision Sciences Lab. This work was aimed at quantifying theories about the nature of human perception with regard to shading cues that are neighboring detected contrast features.
    • Principal investigator on core image processing algorithms.
    • Developed an interactive software tool for visualizing and analyzing shading data.
    2/96-12/96 The University of Western Australia
    Research Officer
    Worked on a machine vision project to investigate the use of active contour models ('snakes') in the location of small plant cuttings for an automated plant propagation system.
    • Experimentation and software development using Visual C++ to write a DLL core coupled with a Visual Basic interface.
    • Documentation and presentation of software and aspects of the snakes algorithm.
    • Web page design and coding for an internet controlled telerobot project.

Education

    1994-1995 The University of Edinburgh
    Master of Science in Information Technology:
    Knowledge Based Systems (Intelligent Robotics)

    • M.Sc. Dissertation - An investigation into physically based animation: genetic algorithm solver combined with a dynamic motion simulator used to optimize character motions towards high-level movement objectives. Output data was written to Postscript and Renderman formats (rendered with BMRT).
    1989-1993 The University of Western Australia
    Bachelor of Mechanical Engineering (Honors)

    • B.Eng. Honors Dissertation - Genetic algorithm techniques to evolve control and decision making networks for a simulated autonomous robot with a view to applying the same technology as a dynamic expert system.
    • Dr. Julian Hunka Prize awarded for the best honors dissertation in dynamics and kinematics

Skills

    I am a C++ software engineer with many years experience in developing tools for artists in a variety of environments. I have a detailed knowledge of UI and application design, strong programming and scripting skills and a long involvement designing effective tools for artists.

    Languages:

    • Expertise in C++, Python, Perl and Java.
    • Database programming: ODBC, SQL and schema design (SQL Server and MySQL).
    • Technologies: Win32, Qt and PyQt, DirectX and MFC.
    • Web: HTML, XML and ASP, plus dynamic database-backed content.

    UI programming achievements:

    • Led development on a content creation application for Reactrix Systems.
    • Developed an extensive XML-based cross platform UI framework for BIAS Inc. from the ground up.
    • Advanced custom UI components including a fast waveform display, timeline control (drop and non-drop frame displays), in/out point selector, flexible tab control, knobs, sliders and menus.
    • Completely designed and implemented two commercial plug-ins for Pulse using standard Windows controls, 3DS Max controls, and Maya’s MEL.
    • Designed a complete UI for two computer vision research projects.
    • Extensive Qt experience.

    Graphics programming:

    • Translation of a broad range of Maya and 3DS Max data.
    • Wrote a comprehensive API for in-house development of 3D translation tools.
    • Integrated Maya deformation and transformation algorithms into existing code base.
    • Created an accurate robot interface for tele-operation of an industrial ASEA robot via the web.
    • Experience with Renderman, Mental Ray, VRML and Postscript formats.

    Environments

    • Windows, Linux, Mac.
    • Experienced in cross platform development.
    • Comfortable with large, existing code bases.
    • Experienced user of Perforce and Bugzilla.

    I have a general interest in using graphics software and not just creating it. Experience modeling and rigging using Maya, general proficiency within 3D Studio MAX. I am also adept at using Adobe Photoshop, and have a personal interest in video editing using Final Cut Pro. In addition I am a published photographer (including Lonely Planet, New Orleans Zoo, KEH cameras, PhotoSecrets photography site of the month)

References

    Available upon request

© Peter Murphy, 2005