游戏开发

本类阅读TOP10

·DirectX 9.0 SDK 开发包下载(April 2005)
·完成端口的深入理解及一种变态用法
·初学者的福音:游戏开发新手入门指南
·linux下编写OpenGL程序的一些准备工作
·《学VC、编游戏》重点算法解疑·快一点
·Windows的消息机制与消息重定向技术
·《魔兽世界》的寻路体系和作弊原理分析
·《学VC、编游戏》重点算法解疑·再快一点
·5月新开传奇私服|6月新开传奇私服|传奇私服|新区
·《学VC、编游戏》重点算法解疑·狩猎谋生

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
DirectX 8 Graphics常见错误

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

                  DirectX Graphics 常见错误(节选)
                               Richard Huddy著, nVidia Corp.
                               nightmare(qingrui li)译
**他们应该出现在初始化部分
  小心不要让耗时昂贵的API调用出现在效率敏感部分
  - ValidateDevice()
  - CreateVB()
  - DestroyVB()
  - Optimize()
  - CreateStateBlock()
  - AssembleVertexShader()
**模版缓冲,在你不需要时……
  - 如果你只清除Z缓冲,系统则不得不保留模版缓冲
    所以如果你用了模版缓冲,在清除Z缓冲时一同清除
  - 这意味着如果你不同时清除模版缓冲,Clear()会慢一些
    读写每一个像素
  - 不要用画矩形来清除缓冲
**去除冗余状态变化,谁的责任?
  - 驱动程序得在PURE HAL上做此工作
    这样的驱动应是相当激进的
  - 运行库在非PURE HAL上作此工作
    但只能去掉简单的重复
  - 你的程序才是最佳的地方
**过多的改变Vertex Shader或Pixel Shader
  - 会迫使系统刷新状态
  - 这是实实在在得昂贵的状态变化,甚至比材质变化更昂贵
  - 所以确定你没有重复设定同一Shader
**DrawPrimitiveUP
  - 要我说多少次,用VertexBuffer
  (译者注:DrawPrimitiveUP会导致额外数据复制的开销,但简单程序用它会使程序简洁,权衡使用即可。)
**使用GDI绘文字
  - 会阻塞CPU的运行直到为完成的渲染完成
  - 应使用3D功能绘制文字,象D3DX那样
  - 如果你的文字不是动态的
    使用一个包含文字的材质贴图
**使用N-Patches
  - 我不推荐这样
  - 只是nVidia公司的意见
    但我们坚持此立场
    此技术有太多细节问题
    我们认为它只是表面上吸引人
**使用W-Buffer代替Z-Buffer?
  - 透视投影材质将不工作(在GeForce 1,2上)
  - 并且会无法关闭透视校正
  - CubeMap会失效(在GeForce 1,2上)
  - 若你在用VertexShader,你仍得设置投影矩阵
**Color Key
  - 使用Alpha测试,因为它更好
    Color Key在DX8中已不存在
  - 已不存在是对的,因为对于多重材质和双线性过滤ColorKey是变态的东西
**没有释放对象
  - 通常导致下一次创建出坏的设备对象
  - 使用调试库
  - 记住清除前要解除选定材质



相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有