Water Simulation

Only available on StudyMode
  • Topic: High Level Shader Language, GLSL, Shading
  • Pages : 20 (2440 words )
  • Download(s) : 611
  • Published : March 8, 2012
Open Document
Text Preview
本 科 生 毕 业 论 文(设计)

题目 水的绘制模拟

姓名与学号 凌准 3062211026

指导教师 许端清(教授)

年级与专业 软件工程0601

所在学院 软件学院

A Dissertation Submitted to Zhejiang University for the Degree of Bachelor of Engineering

[pic]

TITLE: Simulation of Water

Author: Zhun Ling
Supervisor: Duanqing Xu(professor)
Subject: Software Engineering
College: Software Technology
Submitted Date: 2010-5-27
浙江大学本科生毕业论文(设计)诚信承诺书

1.本人郑重地承诺所呈交的毕业论文(设计),是在指导教师的指导下严格按照学校和学院有关规定完成的。 2.本人在毕业论文(设计)中引用他人的观点和参考资料均加以注释和说明。 3. 本人承诺在毕业论文(设计)选题和研究内容过程中没有抄袭他人研究成果和伪造相关数据等行为。 4. 在毕业论文(设计)中对侵犯任何方面知识产权的行为,由本人承担相应的法律责任。

毕业论文(设计)作者签名:

年 月 日
摘要

随着游戏画面的提升,以及电影特效场景对于水面模拟的要求逐日提高。本文针对水波进行基于OpenGL的仿真模拟。使用Cg和GLSL高级GPU着色语言使得一部分计算交由GPU进行,分担了CPU的负担。 本文通过在分析波浪谱的理论基础上进行基于FFT变换的波浪建模方法,进行了粒子系统与常规多边形绘制两种方法对波浪进行模拟并比较其质量与运行速度。 我们得出结论表明粒子系统有良好的可控性,能在模拟过程中正确的反映出外接物体对于水波的影响,并能有效逼真的模拟出水波的扩散过程。但是其操作繁琐,对于粒子的初始化需要一定的操作量,显得较为复杂。在模拟过程中对计算机硬件要求较高,模拟速度比较慢。 使用传统的三角形绘制的波浪生成速度快,可适应多种波形进行波浪的模拟,在初始化方面也较为简略,代码量比较小,模拟速度快。但是对于外界与水体交互生成的波浪模拟需要复杂算法来计算水波扩散途中的点的位置,而且对于波的细节描绘的不如粒子系统详尽。 因此,我们总结出在模拟大面积静态水波时使用传统的三角形绘制的方法较粒子系统有较好的速度优势。而对于需要与外界进行交互的小面积水域,或用于水的物理特性等精细模拟的水体则适合采用粒子系统。

关键词:波浪模拟 粒子系统 Cg GLSL OpenGL FFT Abstract

According to the improvement of the visual quality of video and computer games and the visual effects of water in movies, this paper aimed at discussing simulation of water based on the OpenGL by using High Level Shader Language such as Cg and GLSL, in order to move some computing burden from CPU to GPU and improve the speed and efficiency of the water simulation. This paper used FFT modeling method based on the analysis of sea state spectrum theory, and used particle system comparing with the traditional method of drawing polygons in quality and efficiency. The conclusion made after the experiment shows that particle system, which is more controllable than the traditional one, can correctly reflect the wave motion after interacting with other objects or factors, and can simulate the dispersion of wave very well. However, the disadvantage of the particle system is that the initialization and the management is too much complex, and the computer hardware should have a very high-level performance. On the contrary, the traditional method by drawing lines and vertexes is very fast to simulate waves, and can fit several styles of waves, and is simpler to initialization, but to calculate the wave motion after an interaction of outside objects should used profound algorithms and hard to calculate. Moreover, the simulation by using traditional method is not as precise as the particle system. Therefore, we conclude that the traditional drawing triangles method is fit to simulate large scale of static water wave because of the high simulation speed, but the particle system is more capable to simulate a detailed and precise small range of water, or a model used to reflects physical character of water.

Keywords: wave simulationparticle systemCgGSGLOpenGLFFT 目录

摘要I

AbstractII

目录3

第1章 绪论1

1.1 课题背景1
1.2 水的绘制模拟的研究现状及研究方法2
1.2.1 水波建模2
1.2.2 水面光照效果4
1.2.3 水体与物体交互作用模拟4
1.3 本课题研究内容及意义5

第2章 基于波浪谱的波浪建模与实现6

2.1 波浪的基本概念6
2.2 基于水的波浪谱的建模及实现7
2.2.1 基于FFT变换的海浪建模原理7
2.2.2 水面高度场的实现流程9
2.2.3 FFT变换法的优点10
2.3 本章小结10

第3章 基于高级着色语言的海面效果渲染11

3.1 图形加速简介11
3.1.1 可编程图形硬件简介11
3.1.2 图形硬件流水线11
3.1.3 可编程图形流水线12
3.1.4 着色语言简介13
3.1.4.1 顶点程序13
3.1.4.2 片段程序14
3.1.5 Cg语言简介14
3.1.5.1 Cg程序在C/C++环境中的使用15
3.1.6 GLSL语言简介16
3.1.7 高级着色语言间的比较17
3.2 光照模型与水体渲染18
3.2.1 基本光照模型18
3.2.2 水面光照模型20
3.2.3 环境纹理映射21
3.3 综合水面及天空效果的实现22
3.3.1 水面效果实现22
3.3.2 雾化天空效果实现24...
tracking img