您现在的位置: 中国IT实验室 >> 游戏开发 >> 开发文档 >> 文章正文
基于D3D Effect的引擎模式探讨
来源:ChinaITLab 收集整理 作者: 时间:2005-4-19


  前些日子一直在了解OGRE引擎,感觉里面的材质脚本那一块封装得非常的完美,这里的完美是指使用起来有种独特的层次感。于是开始查阅d3d effect的资料,想从中构思出一种引擎模式的结构。
  
  目前的3D游戏总是会碰到一些问题,比如说某些特效对显卡有独特的要求之类的,让画面效果和兼容性很难得到保证。于是正好碰上这段时间公司对全3D引擎的迫切需求,我们组开始制作一套全3D的引擎,于是我对视觉效果这一块决定使用d3d effect来进行封装。
  
  根据不同的画面视觉效果,可以选用不同的effect来进行渲染,而effect里面的technique则按照从最低显卡要求到最高显卡要求分为fixed pipeline到ps/vs 3.0的标准,分为4个不同的technique,比如说realtime shadow,可以用从shadow mapping到pixel soft shadow来实现不同等级的效果。地面贴图也可以从细节纹理到normal map实现不同的效果,这样一来,可以在初始化的时候决定使用每个effect的某种technique,这样对于开发者来说,shader或者effect将不在暴露出来,他们所需要做的,只是选择不同的渲染效果,一方面让项目部门可以专心的来实现游戏的逻辑,不再需要为画面效果而操心,也可以让引擎维护的工作变得有条不紊。让画面效果和数据管理分离开来。
  
  之前一直在考虑shader的封装问题,想来想去一直没想到什么比较完美的答案,究竟shader应该是由应用层来定,还是应该由引擎来定呢。在经过若干次的考虑和大量的阅读文章来看,我最后还是决定将shader这一层封装到引擎里,让它不再对外可见。好处就是,开发部门不再需要为针对不同的机器配置而花大量的时间去考虑各种实现效果的取舍,也让引擎的开发变得和项目越来越不相关。
  
  其实很多技术都很好实现,关键是如何应用的问题,那么一旦这个接口没留好,则导致很多项目想用,却因为其单一的实现方式而导致对用户机器配置有要求而不得不放弃。但是在做引擎演示的时候,很多时候又不得不拿出最好的效果来。
  
  :P 贴一张最近实现的BLOOM的效果图。。
  
  
  
  
  
收藏本文 责编:admin 


相关文章
介绍简易制作飞行模拟游戏的方法
WU反走样(Anti-aliased)直线初探
基于Alpha通道的伪粒子系统的应用
借助DirectDraw实现对水波的计算机模拟
让你领会真实火焰效果模拟再现
推荐文章


 精彩友情推荐
·神州数码交换机
·神州数码交换机价格
·神州数码网络交换机
·netgear交换机
·网件交换机
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
 基础入门  开发文档
 最新推荐
  多数的Windows程序都需要Windows.h和Windowsx.h这两个头文件,要确保使用它们。当然,你还需要其它......
游戏引擎演化史
在Windows上安装OGRE的方法
关于滤镜遮罩概念,Sobel 遮罩
游戏开发新手入门之Windows编程
游戏开发新手入门之位图化图形
教你实现卡通渲染的另类勾边方法
游戏设计大师谈如何成为一名游戏设
Visual C#编写 3D游戏框架示例
真正的 Java 学习从入门到精通
游戏开发经验——游戏开发的基本常
  针对于移动新出台的政策,需要尽快地把我们公司的游戏对应到不同的手机平台,这是针对市场策略的有利调整............
Quake-III代码里神奇的浮点开方函数
基于Dialogue的MFC程序调用DirectX
关于Kjava手机平台移植可行性报告
网络游戏的数据传输处理和防火墙穿
浅谈网游的数据传输处理和防火墙穿
向量几何在游戏编程中的使用(六)
向量几何在游戏编程中的使用(五)
向量几何在游戏编程中的使用(四)
向量几何在游戏编程中的使用(三)
向量几何在游戏编程中的使用(二)
  培训中心