Position: C++ Developer (OpenGL)
Company: SvitSoftware
Category: C++
Experience required: 3y
English level: upper

**SvitSoftware** specialized in outsourced software development and staff augmentation. We believe in technology and provide businesses with the most relevant optimization models for growth. We use advanced solutions to help companies solve problems, increase business processes' efficiency, and scale up fast.

In SvitSoftware we focus not only on working aspects. Our main mission is to create a good atmosphere for our employees and improve their work-life balance.We are looking for a **C++ Developer (OpenGL)** to join the team on a full-time basis (remote).

Our customer is an innovator and independent full-service provider, who develops and
manufactures demanding embedded electronic solutions and offers off-the-shelf electronic
components and systems developed in-house.

**Product:**
The digital upgrade for stereo microscopes is the new, compact 3D digital microscopy platform. With this system, all optical, eyepiece-based stereo microscopes can be expanded to a digital microscope with two 4K cameras and a 3D monitor. The optical properties of the microscope remain unchanged.

The camera heads are equipped with a highly sensitive 11 mm sensor from Sony and deliver up to 30 images per second in razor-sharp 4K UHD resolution.

**Details:**
● C++ 17
● Multi-threaded application
● Low-level OpenGL, using a custom library with GL abstractions for shaders and drawing
text/images
● SDL2 library (for windowing and user inputs)
● ImGUI for dialogs
● No art (images, sounds) assets except a single splash image and a few fonts
● Custom on-screen menu using SDF (signed distance fields) for rendering
resolution-independent animated/mutable icons
● Operating systems support:
● Windows (Visual C++ 2017 solution)
● Ubuntu Linux 20.04 or newer (custom Makefile)
● Optional multi-window support with 3D output mode configurable per-window
● Camera ISP using OpenGL compute shaders for efficient reading of raw camera data
and generation of live RGBA images for GL display
● FFmpeg for reading/writing stereoscopic videos
● using Halide for image format conversion (although this is about to be phased out)