摘 要:本文从windows及c语言编程基础出发,重点介绍了如何使用opengl来实现动画的原理与方法,并通过相关实例进行了验证。
关 键 词:opengl,api, 双缓冲技术,渲染,计时器
1.引 言
opengl是一种相对新的工业标准,它的前身是由sgi公司为其图形工作站开发的iris gl,是一个工业标准的三维计算机图形软件接口。
opengl不是一种编程语言,而是一种api(application programming interface,应用程序编程接口)。作为一种api,opengl库遵循c调用约定,这意味着我们在c语言环境下可以很方便的调用 opengl库中的api函数。
microsoft开始把 opengl集成到windows nt中,后来又把它集成到新版本的windows 95 oem service release 2中,用户既可以在 windows 95、windows nt环境下开发opengl应用程序,又可以很方便的把已有的工作站上的程序移植过来。
2.双缓冲技术
这项技术能使你执行绘图代码时能够在一个屏幕之外的缓冲区内进行渲染,然后用交换命令把图形放到屏幕上。双缓冲技术有两种用途,第一个是有些复杂的图形可能要花很长的时间绘制,而你又不希望图像绘制的所有步骤都被看见,使用双缓冲技术就可以合成一幅图像并在完成后才显示出来。用户永远不会看到不完整的图像,只有整幅图像准备就绪之后才会把它在瞬间置于屏幕之上。双缓冲技术的第二个用处是制作动画。每一帧都在画面外的缓冲区绘制,完成之后再交换到屏幕上。
opengl支持双缓冲,但是并不是真正用来交换前台缓冲区和后台缓冲区的。
实际上,每个opengl支持的窗口系统都可以通过一个函数调用来实现前后缓冲区之间的交换。
★ 在windows编程环境下调用下面函数:
swapbuffers(dc);
★ 在c语言编程环境下调用下面函数:
glutswapbuffers();
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器