基于VC图像水波动画系统研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VC图像水波动画系统研究

基于VC图像水波动画系统研究   摘要:以Visual C++6.0为开发环境,采用OpenGL编程,对图像进行动画处理,实现了使静态图像生成动态的水波涟漪效果。系统分两步实现:第一步,系统框架设计,系统需在基于单文档的OpenGL图形程序的基本框架下运行,需对OpenGL的绘制环境进行设置,设置完成后才开始进行水波涟漪的设计,第二步,水波动画设计。在基于单文档的OpenGL图形程序基本框架的基础上进行编程。   关键词:水波动画;VC;OpenGL   中图分类号:TP317.4文献标识码:A文章编号2012)009016503   1OpenGL处理流程与功能分析   1.1OpenGL的处理流程   (1)几何操作。①针对每个顶点的操作:每个顶点的空间坐标需要经过模型取景矩阵变换、法向矢量矩阵变换,若允许纹理自动生成,则由变换后的顶点坐标所生成的新纹理坐标替代原有的纹理坐标,再经过当前纹现矩阵变换,传递到几何要素装配步骤;②几何要素装配:不同的几何要素类型决定采取不同的几何要素装配方式。若使用平直明暗处理,线或多边形的所有顶点颜色则相同;若使用裁剪平面,裁剪后的每个顶点的空间坐标由投影矩阵进行变换,并由标准取景平面进行裁剪,再进行视口和深度变换操作。如果几何要素是多边形,还要做剔除检验,最后生成点图案、线宽、点尺寸的像素段.并赋上颜色、深度值。   (2)像素操作。内主机读入的像素首先解压缩成适当的组份数目,然后进行数据放大、偏置,并经过像素映射处理,根据数据类型限制在适当的取值范围内,像素最后写入纹理内存,使用纹理映射或光栅化生成像素段;如果像素数据由帧缓冲区读入,则执行放大、偏置、映射、调整等像素操作,再以适当的格式压缩。像素拷贝操作相当于解压缩和传输操作的组合,只是压缩和解压缩不是必须的,数据写入帧缓冲区前的传输操作只发生一次。   (3)像素段操作。当使用纹理映射时,每个像素段将产生纹素,再进行雾效果计算、反走样处理。接着进行裁剪处理、一致性检验(只在RGBA模式下使用)、模板检验、深度缓冲区检验和抖动处理。若采用颜色素引模式,像素还要进行逻辑操作;在RGBA模式下则进行混合操作。   根据着色模式不同,决定像素段采取颜色屏蔽还是指数屏蔽,屏蔽操作之后的像素段将写入到适当的帧缓冲区。如果像素写入模反或深度缓冲区,则进行模板和深度检验屏蔽,而不用执行混合、抖动和逻辑操作。   对于创建一个三维图形,大致可以包括以下3个主要环节:①建模:包括几何建模和行为建模,几何建模处理物体的几何和形状的表示,行为建模处理物体的运动和行为的描述;②设置观点:描述观察者的空间位置;③设置环境:描述环境的特征,如光源、空气能见度等。   1.2功能需求分析   图像的水波动画程序开发目的是对图像进行动画处理,实现使静态图像生成动态的水波涟漪效果。本系统将采用OpenGL图形应用程序设计界面编程,在Visual C++6.0环境下实现。   水波涟漪的模拟将实现以下功能:①系统界面是在基于单文档的OpenGL图形程序的基本框架下运行;②在程序中载入后缀为 .rgb的图片;③在程序运行时使用鼠标左键单击图片,此时屏幕上以鼠标单击的位置为中心,产生涟漪的发生点,并开始进行水波涟漪荡漾的效果。   1.3开发环境简介   (1)硬件环境。计算机的基本配置不低于P4 2.0G/80G/256M/52XCD。   (2)软件环境。Windows 2000/xp;Microsoft Visual C++ 6.0;OpenGL开发库。   2.1系统设计   图像的水波动画程序开发目的是对图像进行动画处理,使静态图像生成动态的水波涟漪效果。为实现这个目的,系统设计可以分为两步:   (1)系统框架设计。为了保证水波涟漪的实现,系统需在基于单文档的OpenGL图形程序的基本框架下运行,需对OpenGL的绘制环境进行设置,如逻辑调色板、像素格式、OpenGL初始化、场景绘制与渲染等,设置完成后才开始进行水波涟漪的实现。   (2)水波动画设计。在基于当文档的OpenGL图形程序的基本框架的基础上进行编程,依次完成对水波涟漪的定义、生成新的涟漪纹理、纹理的绘制等函数的设计,将静态图像从纹理图像空间映射到帧缓冲图像空间,系统运行时载入图像,通过点击图像实现水波涟漪的动态效果。   2.2系统框架设计思路   ①在单文档窗口的创建过程中,设置好显示的像素格式,并按OpenGL的要求设置好窗口的属性和风格;②首先获得Windows设备描述表,然后将其与事先设置好的OpenGL绘制描述表联系起来;③调用OpenGL命令进行图形绘制;④退出OpenGL图形窗口时,释放OpenGL绘制描述表RC和Win

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档