Oct.03

three10, Vienna

The three10 software allows delivering presentations including 2D and 3D media content synchronized across multiple devices. For example, a mobile device can be used for remote-controlling the presentation while a high-end graphics device is visualizing the presentation on a high-resolution video wall.

As one of two principal engineers in a team of 6 developers, I am the main responsible engineer for the secure communication and file transfer between the Unity 3D application and the on-premise backend server. The architecture of the TypeScript/React/Node.js backend software is also one of my responsibilities.

 

Most notable achievements:

  • Implemented a JavaScript library for streaming server-side Unity 3D graphics in real-time from a cloud server to an HTML5 browser using a low-latency video codec.
  • Implemented HTML5 Server-Sent-Events for pushing data updates from the backend server to the Unity 3D client software (C# client implementation, as well as Node.js server implementation).
  • Implemented a Docker deployment pipeline for our on-premise backend software, in order to minimize the impact of running the software on various operating systems and versions.
  • Implemented screen capturing and streaming over the network.
  • Became the go-to guy for Git, Docker, Gitlab, Gitlab CI and Unity Cloud Build.
  • Principal technical contact during the Audi software security certification process.

See the three10 multi-client presentation and collaboration software in action:

Professional Experience

May.25

ViewAR, Vienna

The ViewAR application framework combines a native C++ core, with an HTML5 User Interface allowing low-effort User Interface customization and supports multiple platforms (iOS, Android, Windows).

As the principal engineer in the C++ team, I was responsible for extending and improving the ViewAR core module and integrating the latest third-party Augmented and Virtual Reality SDKs.

 

Most notable achievements:

  • An algorithm for computing the volume of scanned objects has been implemented. Therefore, a watertight (hole-free) 3D triangle mesh has to be computed from the original 3D model captured with depth-sensing cameras. See the 3D scanning and volume computation application in action:
  • Cross-compiling the ViewAR C++ core using Emscripten/WebAssembly to JavaScript and WebGL
  • Integrated video decoding in order to support video textures in 3D
Professional Experience

Jan.06

Jan.06

Austrian Institute of Technology (AIT), Vienna

An asynchronous Data Interface for Event-based Stereo Vision Systems

 

The aim of my master thesis was to improve 3D reconstruction accuracy of a stereo camera system using special image sensors which only transmits data for the pixels sensing light intensity changes (for example movements).

 

Most notable achievement:

  • Improved image quality/sharpness by adjusting the retention time of pixel events depending on the event density, which is an indicator for the movement velocity
Professional Experience

Dec.30

Agfa Healthcare, Vienna

In a team of 22 people, I was responsible for implementing and maintaining 3D visualization features and the loading of volume image data.

 

Most notable achievements:

  • Implemented progressive loading of volume image data (patent claimed)
  • Visualization of the normal plane in the unfolded blood vessel view
  • Improved visualization of the intersection of 2D annotations with the current view plane (semi-transparent rendering of the part overlapping with the adjacent slice)
Professional Experience

Dec.30

Agfa Healthcare, Vienna

I have been the main engineer responsible for extending and maintaining Agfa’s volume rendering engine, in a team of 8 engineers located in Austria, Belgium, and Canada. The engine supports GPU and CPU rendering, the CPU version heavily uses SIMD instructions for boosting the CPU rendering performance.

 

Most notable achievements:

  • Implemented bi-cubic filtering for improving the resampling quality of low-resolution images using WebGL
  • Implemented a CMake build system, in order to replace the separate build scripts for several platforms

See the volume rendering engine in action:

Professional Experience