分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
opengl中有一个非常有用的函数:glReadPixels(),可以读取各种缓冲区(深度、颜色,etc)的数值。要将opengl的绘制场景保存成图片,也需要使用这个函数。
一个简单的例子见如下的c程序。按键盘上的“C”键,可以将读取的图像缓冲区数据存储成tmpcolor.txt。
#include "windows.h"#include <GL/glut.h>#include <GL/GLAUX.H>#include <iostream>using namespace std;//typedef GLbyte* bytePt;int winWidth = 400;int winHeight = 400;int arrLen = winWidth * winHeight * 3;GLbyte* colorArr = new GLbyte[ arrLen ];void saveColorData(bytePt& _pt, string& _str) {FILE* pFile = NULL;pFile = fopen(_str.c_str(), "wt");if(!pFile) { fprintf(stderr, "error \n"); exit(-1); }for(int i=0; i<winWidth * winHeight * 3; i ++) {
if(colorArr[i] == -1) { colorArr[i] = 255; }}for(int i=0; i<winWidth * winHeight * 3; i ++) {
fp