分类: C/C++
2008-03-11 21:16:11
OpenGLWin* pMainWnd = new OpenGLWin; pMainWnd->ShowWindow(SW_SHOWNORMAL); pMainWnd->UpdateWindow(); m_pMainWnd = pMainWnd; return TRUE;别忘了在实现文件里添加app对象 OpenGLApp app;
protected: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnPaint(); afx_msg void OnDestroy(); DECLARE_MESSAGE_MAP()添加如下函数及变量:
void drawsphere(); void OnDrawSin(); void myinit(); HGLRC hglrc; //rc句柄头文件构造完毕。下面是实现文件:首先添加头文件
#include "gl\gl.h" #include "gl\glu.h" #include "gl\glaux.h" #include在构造函数之前手工添加:
BEGIN_MESSAGE_MAP(OpenGLWin, CFrameWnd) ON_WM_CREATE() ON_WM_PAINT() ON_WM_DESTROY() END_MESSAGE_MAP()构造函数内容如下:
myinit(); Create(NULL, "OpenGLApp---FLoat WorkStudio");用以创建缺省的窗口,及初始化。初始化函数:
void OpenGLWin::myinit() { glClearColor(0.0,0.0,0.0,1.0);////背景色清屏色 glClear(GL_COLOR_BUFFER_BIT); // glVertex3d(0.4,0.4,0.4); }下面用drawsphere()来绘制实体球。 在OnDrawSin()里通过改变视口来用 drawsphere() 绘制的球模仿两种周期不同的正弦曲线。最后在OnPaint()里调用OnDrawSin()在窗口内绘制动画。当然也不要忘了必要的销毁工作 OnDestroy()。