3D Mockups

In the early days of my time at Designstripe, I wrote a proof of concept that showed it was possible to render Three.JS scenes on the server-side and stream the video output to a client using FFMpeg to generate an HLS stream on the fly. This served as a seed for what eventually evolved into the full-blown server-side 3D renderer written in C++ that powered our 3D Mockups product.

I worked directly with our graphics programmer on the rendering engine, and I was a key contributor in developing the frontend and backend systems that allowed users to visualize their designs (uploaded or generated with our other products) in realistic contexts and queue jobs to render a final output, with real-time progress information streaming from the 3D renderer server. The system handled multiple device formats including laptops, phones, and posters, with precise dimension specifications for each format.

The renderer was implemented using modern OpenGL with EGL support, focusing on flexibility and performance. The core rendering system uses a data-oriented design approach, where the rendering pipeline was separated into distinct components. The unique aspect of this renderer is that it’s materials system and shaders are designed specifically to match Three.JS as closely as we could manage. This allowed scene designers to work with a Three.JS-based workflow and have the server rendered results match what they would see in the browser.

Copyright © '14 – '25
Jeff Schofield