基于MFC的单文档OpenGL程序中图形无法自动旋转的问题
基于MFC的单文档OpenGL程序中,绘制了一个立方体,打算让它自动旋转,在视类中添加了成员函数:响应WM_TIMER消息的OnTimer函数,定义了定时器,但是程序运行后可以绘制出立方体,但是图形却不自动旋转,部分代码如下:
void CMFC_EXEView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
if(cy>0) //yg
{
if((m_oldRect.right>cx)||(m_oldRect.bottom>cy))
RedrawWindow();
m_oldRect.right=cx;
m_oldRect.bottom=cy;
glMatrixMode(GL_PROJECTION); //将当前矩阵设置为投影矩阵,指明当前矩阵为GL_PROJECTION
glLoadIdentity(); //将当前矩阵置换为单位阵
glFrustum(-1.0,1.0,-1.0,1.0,3.0,7.0);
glViewport(0,0,cx,cy);
glMatrixMode(GL_MODELVIEW); //将当前矩阵设置为模型矩阵
glLoadIdentity(); //将当前矩阵置换为单位阵
SetTimer(1,45,NULL);//定义计时器
}
void CMFC_EXEView::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
m_fAngleY+=10.0f;//绕Y轴的旋转角
m_fAngleX+=1.0f;
m_fAngleZ+=5.0f;
Invalidate(FALSE);
CView::OnTimer(nIDEvent);
}
不知程序哪里有问题,定义的定时器问什么没有发挥作用?请高手指点一下,谢谢!