利用OpenGL实现动画效果

OpenGL动画效果实践
本文介绍如何使用OpenGL在Windows平台上创建动画效果。通过不断调整视口的位置来模拟动画,并详细介绍了从新建项目到添加OpenGL相关库的过程,以及实现动画所需的关键代码。
 

利用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()。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值