游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1713|回复: 1

谁能帮我下opengl里的选中问题,我快疯了!

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2007-5-13 22:05:00 | 显示全部楼层 |阅读模式
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,搞不懂了!跪求帮忙啊!

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-5-14 22:25:00 | 显示全部楼层

Re:谁能帮我下opengl里的选中问题,我快疯了!

去掉:
//glFlush();
//SwapBuffers(hDC);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 11:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表