如何从openGL屏幕获取位图标头? (视频截取)

时间:2018-05-18 00:38:32

标签: c++ opengl bitmap video-capture freeglut

我在我的项目中使用GLUT和GLEW(使用C ++)。所以我要做的就是从opengl屏幕捕获视频(基本上我是在加载.obj模型并旋转它们)。

现在我用glReadPixels获取每个帧然后我想要使用这个类:https://www.codeproject.com/Articles/1418/A-class-to-easily-generate-AVI-video-with-OpenGL-a

我无法找到GetActiveView()函数。据我所知,我需要使用SetBitmapHeader()函数,所以我需要一个LPBITMAPINFOHEADER结构。我可能需要填写此结构中的属性

typedef struct tagBITMAPINFOHEADER{
    DWORD biSize; 
    LONG biWidth; 
    LONG biHeight; 
    WORD biPlanes; 
    WORD biBitCount; 
    DWORD biCompression; 
    DWORD biSizeImage; 
    LONG biXPelsPerMeter; 
    LONG biYPelsPerMeter; 
    DWORD biClrUsed; 
    DWORD biClrImportant; 
} BITMAPINFOHEADER, *PBITMAPINFOHEADER; 

但我不知道从哪里获取信息。我想将每个帧保存为bmp(实际上是DIB)并试图从那里获取标题并不是最好的方法...

我真的很感激任何帮助!

0 个答案:

没有答案