About

Stephan Heigl
South Germany
Contact: @stephanheigl

Job experience

2006 - present

Software Engineer at Bosch Security Systems / Building Technologies

Building platform & applications for desktop and mobile devices in video surveillance context, internal tooling, prototyping/research/mentoring.

2011 onwards

Development of custom cross-platform toolkits tailored to video systems requirements along with application using aforementioned toolkits.

Among other things, I worked on:

  • Graphics Engine/Renderer with support for OpenGL ES/D3D11/Metal
  • Shader System with custom shader compiler/translator, shader description language and tooling for vscode. SPIR-V based.
  • AR/VR support and prototypes for ARKit and Hololens, fusion of AR with BIM/sensor data
  • OpenGL ES3 based video processing pipeline for smart cameras (embedded)
  • Memory Management
  • Premake-based build system, generators for Visual Studio MDD and xcode, asset file handling, localization
  • Platform support for iOS, Android, Windows: I/O, audio, rendering, networking, cryptography, event handling..
  • Video streaming: network protocols, bitstream parsing (H.264/MJPEG/HEVC) hardware decoder integration via (Android AMedia APIs, iOS VideoToolbox, Intel MediaSDK and DXVA)
  • Profiling and optimization (SIMD SSE/NEON e.g. for pixel conversion during texture upload, frustum culling…)
  • Post-mortem debugging (handling crash reports etc..)
  • Tools and approaches for extrinsic and intrinsic camera calibration
  • Application development for video and camera installation tools
  • Tile-based map renderer for OSM, Bing, HERE, MapBox-style maps
  • Content-pipeline for GLTF2
  • BIM/IFC: geometry generation, topology extraction ..
  • WebRTC: server and client side prototypes
  • UI design: UX and visual design
2006 - 2011

German Research Project SinoVE

Final Report which contains some screenshots of the various tools we developed.

Worked in sub-project on sensor data fusion of 3d tracking data produced by a network of “smart” cameras (image processing and tracking in the edge device).

  • Algorithms to fuse person trajectories
  • 3d visualization tool to inspect live and historic tracking data
  • video rendering
  • scene editor to assemble 3d scenes from multiple models, generate collision and navigation mesh
  • content pipeline for obj/dae
  • crowd simulation
  • simulation of cooperative tracking between edge devices
  • custom database engine for tracking data with spatial and temporal indexing schemes and retention mechnism

2003 - 2006

Game Engine Developer at Bongfish GmbH (part time while studying)

Was there in the early days of StokedRider, when the company was just a few people and target was PC market.

  • Worked on procedural terrain generation and rendering
  • Realistic sky and cloud rendering
  • Tree and forest rendering (impostor system)
  • Shader effects, gpu skinning and the engine in general (dark age of Register Combiners and ASM shaders :)
  • Did ports to Linux and macOS (Apple’s PowerPC era)

2004 - 2005

Software Developer at 3D-Shape GmbH (part time while studying)

Application software development in C/C++

  • Point-cloud and mesh filters for data produced by optical 3d scanners
  • UI programming for dental scanning software

Publications

Diploma Thesis (german): Echtzeit High Dynamic Range Rendering 2006 Real-time