0
这可能是一个非常天真的问题,但我有点卡住了。 我正在编写我的第一个opengl程序,并且想要拾取一个像素的R值,这是我从鼠标单击中获得的一点。 我对如何使用glReadPixels函数无能为力。如何从鼠标点击中拾取一个像素的RGB颜色值
void myMouseFunc(int button, int state, int x, int y) {
if (button==GLUT_LEFT_BUTTON && state==GLUT_DOWN) {
glReadPixels(x,y,0.1,0.1,GL_RED,GL_INT, pixel);
glutPostRedisplay();
}
}
我使用GL_INT和我得到的是我一直在使用glColor3f赋予不同的颜色像素相同的R值()。 –
你做了Andreas提出的改变吗?请特别注意,宽度和高度应以像素指定(不像您的问题中为0.1),并且y坐标反转(从底部开始)。 –
@Nitin请记住,如果使用'GL_INT',颜色值的[0,1]范围将转换为32位整数范围(与您期望的[0,255]相反) –