如何将OpenGL绘制的图形保存为位图或者其他格式的文件

VR_Lab 2009-05-10 07:56:58
RT
忘高手多指点,最好能给出代码
...全文
176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzz822163 2009-05-11
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090322/15/0f6e77d7-f167-40a8-b440-7d54bd825c67.html
river80 2009-05-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 P_hantom 的回复:]
两个方法
1.OGL每桢画完之后获取后备缓冲,把数据从后备缓冲中读出来存盘
2.渲染到纹理,然后把纹理存为文件
[/Quote]

glReadBuffer(GL_BACK);
// Read the image data from the framebuffer
glReadPixels(0,0,weidth,height,(GLenum)GL_RGBA,GL_UNSIGNED_BYTE,FBuffer);
// Write the new BGR framebuffer data to the Targa file
fwrite(TGAheader,1,sizeof(TGAheader),Outfile); // TGA Header

//Init info header
infoHeader[0]=(weidth & 0x00FF);
infoHeader[1]=(weidth & 0xFF00) >> 8;
infoHeader[2]=(height & 0x00FF);
infoHeader[3]=(height & 0xFF00) >> 8;
infoHeader[4]=32;
infoHeader[5]=0;
//save info header
fwrite(infoHeader, 1, sizeof(infoHeader), Outfile);

fwrite(FBuffer,1,weidth*height*4,Outfile); // Data
fclose(Outfile);
IONPhantom 2009-05-10
  • 打赏
  • 举报
回复
两个方法
1.OGL每桢画完之后获取后备缓冲,把数据从后备缓冲中读出来存盘
2.渲染到纹理,然后把纹理存为文件

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧