基于DirectX的图案绘制_第1页
基于DirectX的图案绘制_第2页
基于DirectX的图案绘制_第3页
基于DirectX的图案绘制_第4页
基于DirectX的图案绘制_第5页
已阅读5页,还剩19页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于DirectX的图案绘制—雾化效果

DirectX简介Direct3D技术介绍雾化实验效果图DirectX简介

DirectX是一种应用程序接口(API),它可让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。这样说是不是有点不太明白,其实从字面意义上说,Direct就是直接的意思,而后边的X则代表了很多的意思,从这一点上我们就可以看出DirectX的出现DirectX简介就是为了为众多软件提供直接服务的。而雾化效果是3D中的比较常见的特性,在游戏中见到的烟雾、爆炸火焰以及白云等效果都是雾化的结果。它的功能就是制造一块指定的区域笼罩在一股烟雾弥漫之中的效果,这样可以保证远景的真实性,而且也减小了3D图形的渲染工作量。目前的DirectX,已经从最早的DirectX1.0发展到2009年1月9日发布DirectX11了。DirectX简介

DirectX是Microsoft公司为Windows平台开发的游戏开发包,它包括以下几个组件:

◎DirectDraw:

解决平面游戏开发中图形处理问题

◎Direct3D:

三维游戏图形技术解决方案,OpenGL功能一样强大

DirectSound:

提供延时的低音混合系统,支持硬件加速与声音设备的直接访问

DirectX简介◎DirectPlay:简化游戏中使用各种通讯设备的入口,使不同的协议间可以相互通讯,为网络游戏开发提供一个良好的平台◎DirectInput:支持鼠标、键盘、游戏操纵杆和具有反馈功能的游戏输入设备。◎DirectMusic:支持MIDI音频,支持运行时动态作曲Direct3D技术介绍

Direct3D是和OpenGL一样的三维图形支持库它具有以下功能:支持自定义顶点结构(FVF:Flexiblevertexformat),由坐标系里的顶点来确定物体的方向和位置,而且每个顶点有材质属性。支持多缓冲:支持Mesh,Mesh即可编辑网络,它是由许多三维空间中的点构成的物体的框架。可以通过程序向顶点缓冲区内填充信息来生成Mesh,也可以将3dsmax或maya等建立的模型导出为Mesh。如图:支持纹理贴图支持三种光源:平行光、聚光灯、点灯除此之外,Direct3D支持的功能还有:支持摄像机支持Z缓冲支持通过矩阵变换来改变位图支持材质支持2D显示等雾化实验

雾化效果实现原理

在Direct3D图形系统中,雾化是通过景物颜色与雾的颜色,以随物体和观察点距离增加而衰减的混合因子混合实现的。距离观察点越近,混合因子越大,场景中物体的颜色越大,而雾的颜色越小,景物就越清晰;随着观察点拉远,混合因子逐渐变小,场景中物体的颜色变小,而雾的颜色变大,景物就越来越模糊。Direct3D计算雾化的方法如下:

Color=f.colorscene+(1-f)Colorfog

其中,Color表示最终经过雾化处理的颜色,Colorscene表示物体原来的颜色,Colorfog表示应用程序定义的雾的颜色,f表示雾化的混合因子从雾化计算方法可以看出,影响雾化效果的因素有两个,一个是雾化混合因子,另一个是物的颜色。通常指雾的颜色为白色,当然也可以指定其他任何颜色以实现特殊效果。所以大多数情况下考虑的是雾化混合因子对于雾化效果的影响。通过指定Direct3D雾化计算公式,可以定义图形程序中雾化效果随距离增加的趋势。雾化效果是物体可见程度的反映,雾化公式计算的结果越小,物体的可见度越低。Direct3D采用了两种方法进行雾化处理:顶点雾化和像素雾化。顶点雾化在Direct3D顶点坐标变换和光照流水线阶段实现,它根据物体多边形每个顶点与观察点的距离计算每个顶点雾化程度,并在多边形面上根据计算结果进行插值计算。而像素雾化在Direct3D像素绘制阶段实现,它通过每个像素对于观察点的深度计算雾化效果值Direct3D中使用雾化效果的步骤⑴激活雾化效果

Direct3D在默认情况下禁用雾化效果,所以为了给场景添加雾化效果,首先要激活雾化处理,激活效果的代码如下:

g_pd3dDevice->SetRenderState(D3DRS_FOGENABLE,

TRUE);⑵设置雾化混合因子计算公式下面的程序片断设置了顶点雾化效果为线性:

g_pd3dDevice->SetRenderState(D3DRS_FOGVERTEXMODE)

⑶设置雾化参数雾化参数包括雾的颜色和用于计算雾化混合因子f的相关参数。效果图程序运行时,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论