opengl获取立体空间点的颜色数据
如题,我使用opengl绘制了立体图形,使用的是顶点的方式,绘制代码如下:
glBegin(GL_TRIANGLES);
for (...)//循环绘制面
for (int j = 0; j < 3;j++){ //通过定点绘制一个面
glColor3f(mat->diffuse[0], mat->diffuse[1], mat->diffuse[2]);
glNormal3f(norm_verts[i][0], norm_verts[i][1], norm_verts[i][2]); //法线
glVertex3f(mesh->vertices[face->index[j]][0],
mesh->vertices[face->index[j]][1],
mesh->vertices[face->index[j]][2] );
}
glEnd();
绘制已经显示出来,现在的问题是,我想获取立体空间中一个位置(x,y,z)的颜色数据,我看到glReadPixels函数,但是参数是x,y,width,height, GLenum, GLenum, void *,感觉这只是获取屏幕上的像素数据,通过百度,有人说第五个参数使用GL_DEPTH_COMPONENT可以获取深度颜色信息,关键是深度也无法确定到z。或者是对opengl不太熟悉,菜鸟一个啊。大神们或许有什么好的解决办法,给小弟提供下思路。