
Engine Design
文章平均质量分 59
soilwork
这个作者很懒,什么都没留下…
展开
-
The Design of Model (part 1)
The Design of Model (part 1)仅供个人学习使用,请勿转载,勿用于任何商业用途。 过去一段时间都做引擎设计,小有成果,过几天陆续整理出来,今天先发个引子吧. ^_^ 第一步当然是定义模型数据,有了模型,才方便做后续开发。通俗一点说,就是要创建model类。也许你会说XNA或者说DirectX已原创 2009-01-13 06:26:00 · 3856 阅读 · 8 评论 -
InputManager Update Frequency
InputManager Update Frequency 仅供个人学习使用,请勿转载,勿用于任何商业用途。 很高兴上一篇文章引起了很多争论,主要是关于以什么频率更新InputManager。大概是上一篇文章说的不够清楚,所以我想再说的详细一点。 首先,为什么需要IM。Xna只提供了最基本的输入检测方式:只能主动查询某个按键是否被按下,没有事件支持,没有常用的keyJu原创 2009-05-10 04:28:00 · 4380 阅读 · 17 评论 -
Make Your Game Input Robust
Make Your Game Input Robust 仅供个人学习使用,请勿转载,勿用于任何商业用途。 如果你读过 之前 那篇关于InputManager的文章,那么非常抱歉,最近发现那样的设计是有缺陷的。我又一次被隐藏的复杂性打败了-_-#。 问题一,以什么频率进行输入更新。对于XNA framework来说,每次程序主循环调用Update时,都会刷新KeyboardSta原创 2009-04-28 05:14:00 · 3776 阅读 · 10 评论 -
More on Scene Management
More on Scene Management仅供个人学习使用,请勿转载,勿用于任何商业用途。 相信很多人都看过Tom Forsyth那篇著名的文章>。我第一次看时,只觉得是Tom开的一个小玩笑。不过最近,随着对scene management研究的深入,感觉对于大多数游戏来说,scene graph确实不是那么必须。 由于scene graph实在是一个被严重原创 2009-04-28 03:53:00 · 3718 阅读 · 0 评论 -
Scene Management --- Collision Detection
Scene Management --- Collision Detection 仅供个人学习使用,请勿转载,勿用于任何商业用途。 没有碰撞检测的引擎是不完整的。碰撞检测是引擎的基础服务之一,需要为渲染,物理仿真,AI和游戏逻辑都等众多子系统提供服务。由于碰撞检测本身设计到大量数学运算,以及各个子系统对碰撞检测需求的不同,使得它成了最难实现的部分。 碰撞检测需要解决的原创 2009-03-17 00:13:00 · 3934 阅读 · 0 评论 -
Scene Management --- Culling
Scene Management --- Culling仅供个人学习使用,请勿转载,勿用于任何商业用途。 上次说到场景很大,物体很多时,每帧都把所有物体传递给渲染系统是不可能的。考虑到所见区域只是场景中的一小部分,因此,剔除视野之外的物体,就显得尤为重要,也就是常说的裁剪。本质上,裁剪算是碰撞检测的一部分,通过碰撞检测判断物体是否在视锥之内,但他和游戏里一般的碰撞检测还是有很大原创 2009-03-15 01:32:00 · 3502 阅读 · 1 评论 -
Scene Management --- scene graph
Scene Management -- scene graph仅供个人学习使用,请勿转载,勿用于任何商业用途。 下面是一个简化的游戏引擎数据流,每一帧,scene data作为数据源,输入到物理/碰撞检测和AI子系统,子系统更新所有物体的状态(包括位置,光照信息等等),之后数据流入渲染系统,最终显式在屏幕上。 显然,后面两部分的效率都依原创 2009-03-10 20:13:00 · 7593 阅读 · 2 评论 -
A Simple Input Manager for XNA
A Simple Input Manager for XNA仅供个人学习使用,请勿转载,勿用于任何商业用途。(update on 4.28 09: 这篇文章的设计是有bug的,详细更新可以看这里) Why we need input manager? 在PC平台上,KeyboardState和MouseState提供了基本的用户输入信息,但是对实际编写游戏来说,还缺原创 2008-12-20 00:42:00 · 1990 阅读 · 0 评论 -
一些关于引擎设计,Scene Management的文章
这几天逛GameDev,几乎把所有和Scene Management相关的文章和帖子都翻遍了,看到各种牛人的讨论,受益匪浅啊,对研究引擎设计非常有用,把部分特别有意思的帖子列出来,希望对你也有帮助:) (以下顺序不分前后) (update on 4.23.09)The Technology of a 3D Engine part 1, part 2, part 3S原创 2009-01-21 23:29:00 · 6722 阅读 · 2 评论 -
The Design of Model (part 2)
The Design of Model (part 2)仅供个人学习使用,请勿转载,勿用于任何商业用途。 继续上次的讨论,所有渲染器支持的对象都必须支持接口Draw,那么Draw应该实现哪些职责呢?由于已经把材质作为单独的对象来管理,所以Draw只需要完成2个任务:设置几何数据,绘图。下面是一个可能的Draw方法实现:Draw(){ graphicsDevice.V原创 2009-01-14 01:28:00 · 3247 阅读 · 3 评论 -
搬家了,新地址http://www.cnblogs.com/clayman/
终于决定搬家,难用都还可以勉强忍受,可是最近居然开始乱封blog了,怕怕。可惜那么多文章带不走,手动把部份我觉得比较有价值的文章搬过去了。呵呵,欢迎大家有空过去看看:)。 此blog将不再更新...........原创 2009-05-18 00:59:00 · 179572 阅读 · 3 评论