基于MFC的Opengl实现动画

时间:2023-03-08 21:20:22

对于了解MFC程序设计的来说,就太简单了。像我这种的,还是有必要记下来。

OnCreate设置定时:SetTimer(1, 10, NULL);//设置#1定时器 key point

void COpenGL2View::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (nIDEvent == 1)//settimer对应的事件标号-----1
{
++day;
if(day>=360)
day=1;
Invalidate(FALSE);//重绘
} //InvalidateRect(NULL, FALSE);
CView::OnTimer(nIDEvent);
}
void COpenGL2View::OnDraw(CDC* /*pDC*/)
{
COpenGL2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return; static BOOL bBusy=FALSE;
if(bBusy) return;
// TODO: 在此处为本机数据添加绘制代码
m_glRender.DrawScene();
SwapBuffers(wglGetCurrentDC());
bBusy=FALSE;
}

  

  

代码很简单,分享给像我这样的初学者。注意:DrawScene函数是放在OnDraw事件中了,Onpaint事件删除掉了。