C++ 通过UDP发送OpenGL视频流量
可以在Linux上通过UDP发送OpenGL桌面应用程序的视频流量?我查看了屏幕外渲染,但仍然不知道如何提取视频流量并发送它 <我正在使用C++,但是如果你在其他语言中有解释,请继续。 编辑:我找到了构建架构的方法,这是我的代码C++ 通过UDP发送OpenGL视频流量,c++,linux,opengl,udp,C++,Linux,Opengl,Udp,可以在Linux上通过UDP发送OpenGL桌面应用程序的视频流量?我查看了屏幕外渲染,但仍然不知道如何提取视频流量并发送它
void getVideoStream(){
glReadBuffer(GL_BACK);
vector< unsigned char > buf( width * height * 3 );
glPixelStorei( GL_PACK_ALIGNMENT, 1 );
glReadPixels( 0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, &buf[0] );
// compress the image
// send it via UDP
}
void getVideoStream(){
glReadBuffer(GL_BACK);
向量buf(宽*高*3);
glPixelStorei(GLU包对齐,1);
glReadPixels(0,0,宽度,高度,GL_RGB,GL_无符号字节,&buf[0]);
//压缩图像
//通过UDP发送
}
使用
宽度
和高度
窗口的尺寸。什么是“视频流量”?视频流量指的是OpenGL生成的帧。我应该改一下标题吗?@LittleStrongMind:实际上OpenGL不会生成“框架”。它只画点、线和三角形。局部glFinish或缓冲区交换表示发送图纸命令已完成,且应执行。但在完成/交换后,可以继续在前缓冲区上绘制。在这方面,OpenGL框架是“永不”完成的。这与Direct3D非常不同,Direct3D实际上有一个清晰的框架定义。