摘要: 隐藏面剔除算法的出现是基于以下的现实,在游戏场景中你不必每帧都将所有的物体渲染到屏幕上,它的作用主要有两个:一个是减少GPU的屏幕填充率,另一个是减少CPU和GPU的传输带宽。根据当前的硬件现状GPU的填充率已经不存在任何问题,而现在唯一的限制位于AGP上,它那可怜的一点带宽已经成为图形渲染的瓶颈,因此当前HSR算法大部分都放在CPU端来做以尽量减少每帧需要传输的数据量,这里你不需要对CPU的负担...
阅读全文
摘要: HL2的地形系统是一个另类的地形系统,它没有使用当前流行的heightmap技术,而是完全使用displacementmap技术来进行处理,使用displacementmap技术的初衷是为了在框架中和BSP技术保持一致,这是因为在BSP中最小的渲染图元是surface,surface的限制是所有的顶点必须位于同一个平面上,实际上从理论上来说在HL2这样的引擎中也可以使用heightmap来构造地形...
阅读全文
摘要: 你是否正在考虑构建一个游戏引擎呢?你对如何构建一个游戏引擎是否已经有了一个明确的计划呢?你是否已经对如何组织游戏引擎各个模块之间的关系有了一个通盘的考虑?如果没有,那么本文将对你建立一个良好的游戏架构提出一些有益的方案,如果你已经对上面的问题有了一个明确的答案,那么本文不是你需要阅读的内容。本文的目的是给那些没有任何建立完整游戏引擎经验的人提供一些入门性的知识,使他们初步了解一下如何来构建一个游戏...
阅读全文
摘要: 对于现代的游戏引擎来说,为了提高性能和有效的管理内存,需要使用各种各样的内存分配模型,内存池作为一种有效的分配模型被大量的使用,它通过一次分配足够的内存来减少对newdelelte使用以提高引擎的性能,并且由于每一个内存块都有相同的大小因此非常易于管理,并可以防止内存的泄露。它通常被用于需要分配大量相同对象的场合,如粒子系统这样的地方。 对于在运行时可以明确知道分配数量的物体,可以通过一...
阅读全文