|
|
void OpenGL::ModeRender(CPoint point)
{
GLuint selectBuf[512]; glSelectBuffer(512,selectBuf);
glRenderMode(GL_SELECT);
glInitNames();
glMatrixMode(GL_PROJECTION); // 设置当前矩阵为投影矩阵。
glLoadIdentity(); // 重置当前指定的矩阵为单位矩阵
gluPerspective // 设置透视图
( 54.0f, // 透视角设置为 45 度
(GLfloat)currentWidth/(GLfloat)currentHeight, // 窗口的宽与高比
1.0f, // 视野透视深度:近点1.0f
3000.0f // 视野透视深度:始点0.1f远点1000.0f
);
gluLookAt(0,0,10,0,0,0,0,1,0);
glMatrixMode(GL_MODELVIEW); // 设置当前矩阵为模型视图矩阵
glLoadIdentity();
GLint hints;
GLint viewPort[4];
glGetIntegerv(GL_VIEWPORT,viewPort);
gluPickMatrix((double)point.x,(double)(viewPort[3]-point.y),100.0,100.0,viewPort);
glPushName((unsigned)0);
glLoadName(1);
m_bsipic->car(10,0,-20);//画了一个图
glFlush();
SwapBuffers(hDC);
hints=glRenderMode(GL_RENDER);
// 更新窗口
if(hints==0)
{
MessageBox(NULL,_T("helleo:"),_T("Error"),MB_OK|MB_ICONEXCLAMATION);
}
}
hints 一直是0,搞不懂了!跪求帮忙啊! |
|