注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

辫子

这里的东东都转到了:hi.baidu.com/fairzy

 
 
 

日志

 
 

利用OpenGL实现动画效果[转]  

2008-08-04 09:05:59|  分类: OpenGL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
利用OpenGL实现动画效果

作者:浮萍工作室 哲

下载源代码

本程序主要通过不断改变视口位置来模仿动画效果,同时介绍了在进行opengl绘图时所做的一些不可或缺的准备工作。

一、首先新建一个 “Win32 Application” 的空工程。

二、然后将 “glu32.lib glaux.lib opengl32.lib” 引入工程之中。

三、在工程->设置->General里将 “Microsoft Foundation Classes” 改为“Use MFC in a Static Library”。

四、因为我们建立的是一个空工程,所以必须为此工程添加必要的类代码。先建一个 OpenGLApp 类,基类是 CWinApp,构造函数和析构函数都为空,同时添加一个 BOOL 型的 InitInstance(),用来显示窗口。其内容如下: OpenGLWin* pMainWnd = new OpenGLWin; pMainWnd->ShowWindow(SW_SHOWNORMAL); pMainWnd->UpdateWindow(); m_pMainWnd = pMainWnd; return TRUE; 别忘了在实现文件里添加app对象 OpenGLApp app;

五、下面建立另一个类 OpenGLWin,其基类是CFrameWnd

手工添加以下消息映射: 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 <math.h> 在构造函数之前手工添加: 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()。

  评论这张
 
阅读(254)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018