This class first copies the given input image into an OpenGL texture, then applies OpenGL-ES vertex and fragment shaders to achieve some image processing, and finally gets the resulting pixels back into an image.
This code is inspired somewhat from the tutorial and code examples found on this page: http://robotblogging.blogspot.com/2013/10/gpu-accelerated-camera-processing-on.html
But an important distinction is that we render to a framebuffer with an RGB565 renderbuffer attached, which accelerates processing and transfer of the results a lot.
Unfortunately, MacOS computers refuse to detect the JeVois smart camera as soon as it exposes one or more RGB565 video modes. Thus, you cannot use this module with Macs in its native version (but see below), and the module is disabled by default. In addition, RGB565 does not seem to work in older
Edit JEVOIS:/jevois/config/videomappings.cfg and look for the line that mentions DemoGPU. It is commented out, so just remove the leading # sign. The line should then look like this:
RGB565 320 240 22.0 YUYV 320 240 22.0 JeVois DemoGPU
Restart JeVois and run this on your Linux host if older than Ubuntu 17.04:
sudo apt install ffmpeg ffplay /dev/video0 -pixel_format rgb565 -video_size 320x240
or, with Ubuntu 17.04 and later:
guvcview -f RGBP -x 320x240
This module can also work with YUYV output, which is then compatible with MacOS, JeVois Inventor, etc. But note that the conversion from RGB565 to YUYV consumes some CPU on the JeVois camera.