Demosaic with OpenGL output
We have created high speed demosaic software on GPU to achieve outstanding performance and excellent image quality. Now we have enhanced our solution and can offer realtime rendering for video stream with OpenGL technology. We add OpenGL interface to output data from GPU to monitor and show interoperability for our debayering solution with OpenGL. Application runs two threads, the first thread performs image preprocessing and debayering for input data and the second does rendering. Image data are transferred from CUDA memory to OpenGL texture and then to monitor.
OpenGL rendering pipeline gives opportunity to decrease latency for imaging applications. All data after demosaicing reside in GPU memory and this is the fastest way to send data to monitor via OpenGL interface.
We don't perform image processing on OpenGL because we consider that CUDA is more suitable for that task. OpenGL engine is mostly intended for imaging output and we combine computational power of CUDA together with OpenGL rendering. For camera applications we can get maximum fps with minimum CPU load.
Demosaicing with OpenGL Rendering and Output