Hello I am working a Video Mix software and need sone tips ! thank you in advance ! I would like to know how to use my video card’s OpenGL on images that are not on screen but stored in a buffer (ie drawing the pixels on it before showing it). Indeed if I try to reach a pixel that is out of a window or in a not visible part of a window, the Handle returns an empty address…
Very general question.
Your first problem is to get the video data into something OpenGL can work with, this can either be one of the color buffers or a texture.
If you want to manipulate the video image, a texture would be the most common application. Search the forum.
If you only want to display the image, you can do a glDrawPixels() to OpenGL’s back buffer in a double buffered pixelformat and then SwapBuffers(). But then you could do this without OpenGL, too, from a device bitmap and GDI BitBlt.
For both, glDrawPixels() and glTexImage2D() (or better glTexSubImage2d() if you’re continually updating the image) you may need to convert the video into a format which is known to your OpenGL implementation on the CPU. Some typcal YUV format may not be possible. Check the supported internalFormats of your OpenGL implementation.