如何从鼠标单击中获取像素的rgb颜色值

时间:2011-08-19 13:17:25

标签: c opengl mouse mouseevent glut

这可能是一个非常天真的问题,但我有点卡住了。 我正在编写我的第一个opengl程序,我想要获取像素的R值,这是我从鼠标点击获得的一个点。 我对如何使用glReadPixels函数一无所知。

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();
    }
}

1 个答案:

答案 0 :(得分:2)

文档很清楚:

http://www.opengl.org/sdk/docs/man/xhtml/glReadPixels.xml

GLubyte pixel;
glReadPixels(x, windowHeight - y - 1, 1, 1, GL_RED, GL_UNSIGNED_BYTE, &pixel);