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