Herf Consulting LLC was founded in November, 2000, to license internally-developed technologies and to develop new ones for clients and their products.

Since then, we have helped many clients improve their products, research new features, and prototype new ones.

We generally retain between 2-4 subcontractors, depending on demand, and we work closely with outside associates for development outside our expertise.

Michael Herf
Experience includes computer graphics and interactive programming, primarily in C++. Extensive experience shipping products for shrinkwrap and online. Has held senior development positions in several software organizations.


Experience

IdeaLab!, 5/00 - 11/00 Led prototyping and development for a new software product. Built custom database for real-time full-text search of 1GB datasets, applied antialiased text library for user interface, built numerous prototypes.

MetaCreations Corp., Senior Software Engineer, 7/97 - 5/00 Did product development, research, prototyping, and core technology for many products and tools, both 2-D and 3-D.

MetaStream 3. Spearheaded a dynamic plugin architecture for the Web, as a platform for 3-D and other interactive media. Developed the first high-performance solution to windowless browser controls. Worked on realistic materials, interactive lighting design, and overall infrastructure.

Kai’s Power Tools 6 & KPT X. Wrote sharpening effects for "KPT Equalizer" and an interactive planar perspective tool for "KPT Projector," featuring anisotropic filtering.

Office Advantage. Did high-quality lighting, environment mapping, rotation constraints, and geometry generation (normal smoothing and adaptive tessellation) for real-time 3-D charts in Excel. Developed vector- and bitmap-based transitions and animation effects for Powerpoint.

Kai’s Power Tools 5. Designed and implemented several Photoshop filters, including fast blur techniques: a disc blur, a fast IIR blur (21 fps at 640x480), fast motion blur effects, and a fast radial blur. Developed an implicit surface renderer for 4-D quaternion Julia sets (with environment mapping & interactive lighting), and a Radial Warp filter to add or correct barrel distortion effects. Worked with a team to provide UI development and UI rendering.

Axiom. Improved the Axiom application framework. Optimized imaging loops using MMX, extended common data structures and memory allocation, and enhanced debugging facilities. (Axiom is used for Bryce, KPT, Canoma, SHOW, SuperGOO, and Soap2.) Created a UI widget and prototyping layer, used later by KPT 5.

Kai’s Power SHOW. Developed many real-time image transitions, a real-time text animation engine (using spline-based motion paths, affine transformations per character, real-time compositing), UI special effects and image arrangement utilities. Also did significant application engineering (duties included all file management, the redistributable player, and HTML output.) Adapted special effects under license to Microsoft to ship with IE5.0 and Windows98 SR2 as part of DirectAnimation.

Research. Researched and implemented image-based depth-of-field, hierarchical sampling techniques, various 2-D imaging optimizations, real-time soft shadow generation for simple 3-D scenes, and high-quality perspective filtering and image resampling. Worked on tools to enable interactive lighting design.

Bryce. Helped to implement the real-time 3-D pipe for Bryce 3-D, including lighting, transformation, heightfield clipping, and simple use of existing 3-D APIs. Prototyped "Rayspray," a brushing method using rays, that shipped with Bryce 4.

Microsoft Research, Virtual Worlds, Intern, 6/96 - 8/96 Worked on networking development for Microsoft's V-Chat 1.1. Transitioned the product from proprietary Microsoft protocols to sending motion data via IRC and avatar skins via HTTP.

Microsoft Cartography Group, Intern, 5/95 - 8/95 Created specialized techniques for shading maps "Rand McNally-style" as viewed from above, and used these to implement a multi-CPU solution that filtered 4 GB of surface texture in relief to ship with Encarta World Atlas 1.0. Implemented a real-time map-warping module that dynamically displays a globe in a modified Robinson projection in real-time. Worked on algorithms to optimize line/grid clipping for very large polygons.

EducationCarnegie Mellon University
B.S. in Mathematics/Computer Science, 1997
QPA 3.9 in CS courses.

Publications

"Spatially Nonuniform Scaling Functions for High Contrast Images." Research with Peter Shirley on gamut mapping for CRTs. Paper published in Graphics Interface ‘93.

"Fast Soft Shadows." Research with Paul Heckbert, using graphics hardware to do real-time soft shadow simulation. Sketch at Siggraph ‘96.

"Simulating Soft Shadows with Graphics Hardware." Research with Paul Heckbert (complete version of sketch above.) CMU TR-107.

"Efficient Generation of Shadow Textures." Software adaptation of the above, Senior Thesis. CMU TR-138 (unpublished.)

Technical Abilities

Languages: C/C++, x86 assembler (including MMX and SSE), Lisp, HTML, Pascal

APIs: Native win32 APIs (including insane minutiae), MFC, OLE (COM, ATL), X Windows System (with SGI extensions), IDispatch, various other Microsoft standards.

Graphics APIs: OpenGL, IrisGL, DirectX (DirectDraw, Direct3D, DirectMedia APIs)

Platforms: Windows, Linux, Solaris, IRIX, MacOS

main