The state of our rendering engine
The end of the year is often a time for reviews and retrospects. This year will mark the end of not just last year but also 13 years of OpenGL visualisation in Capture.
Let's rewind the tape a bit! When we released Capture 2005 we were among the first to bring OpenGL hardware accelerated lighting visualisation to entertainment lighting designers. Prior to Capture 2005, Capture visualisation was wireframe and rendered completely on the CPU. One of the major reasons we chose OpenGL over DirectX was that it would make it easier for us to launch a Mac OS X version of Capture Polar three years later in 2008.
Initially our choice did save us a lot of time during development in that new visualisation features would instantly work on both platforms. However, computer architecture in general and hardware accelerated graphics in specific is a fast moving landscape and with time we found ourselves struggling a lot with OpenGL driver reliability. When Apple stopped enabling OpenGL features past version 3.3 (which was released 2010) this started holding us back on both platforms as we did not want to let the Windows version start having a life of its own. When Apple subsequently announced Metal in OS X 10.11 El Capitan in 2015 and new features were not brought to OpenGL we interpreted this as the coming end of life for OpenGL on Mac OS X, something that was confirmed last year when Apple announced the deprecation of OpenGL with the release of macOS 10.14 Mojave. It was time for a change!
With our new rendering engine in Capture 2018 we have now moved towards platform specific rendering solutions, relying on DirectX on Windows and Metal on macOS. Even though a lot of the new rendering engine is still in fact platform agnostic thanks to large similarities between DirectX and Metal, we do now find ourselves back on track to using the latest technology available on both Windows and macOS, which is very exciting! As of November last year when we had worked out all the final quirks of it - a huge thank you to all our users who have tested it on a vast amount of hardware / OS combinations! - the new rendering engine is now the default of Capture 2018 and the amount of support tickets related to video card drivers has dropped remarkably.
While the launch of the new rendering engine in Capture 2018 was primarily focused on the technology shift alone and a few immediate performance improvements, we are now busy working on making the best of the new tools given to us. Apart from the new features and possibilities of DirectX and Metal, the new software development and performance analysis tools that we can now use, that did not work or were difficult to interpret because of the architecture of our old rendering engine, are proving extremely useful to us.
Seeing how successful our migration to DirectX and Metal has been, and in order to be able to move forward at full speed in the future, the old rendering engine has now been stripped out and left in a museum for our next release Capture 2019. That means that the legacy rendering engine and OpenGL will no longer be available as an option and that our Mac users will need to have macOS 10.13 or higher and Metal capable hardware in order to use Capture 2019.
We look forward to a new and exciting year and a new era of DirectX and Metal visualisation!
(Image from С Е Т А П - check out their Instagram page for more amazing Capture renders.)