Focus On 3D Terrain Programming·Chapter 5(1)

写在前面的话

原著:《Focus On 3D Terrain Programming》
章节:Chapter5 Geomipmapping for the CLOD Impaired
说明:图形渣、英语渣,学习的同时记录下来的(主要是不翻译就读不下去TT),希望能和大家相互交流学习,翻译有误的地方欢迎指出^^

正文开始↓

哦吼!你将要学习地形编程中的核心内容,里面包含了相当复杂的算法。实际上,这是个谎话啦。本章我将讲述3种简单且高效的算法。并且,再一次,我会让你省略漫长的介绍而简要地告诉你本章内容:

■连续层次细节(CLOD)的含义
■Geomipmapping(Geometrical Mipmap)背后的理论
■实现Geomipmapping的方法

简单起见,我将本章的内容分成了3个部分。尽管如此,内容仍相当地多。不过,千万别被本章的篇幅吓到,我会一如既往地用一种风趣而简洁的方式来呈现。不过,要注意我将稍稍改变一下学习风格。第5、6、7章比之前的章节更注重算法和伪代码。在后面的章节,我仍会为你提供自己的示例及实现,但是这些实现是简单的,你需要结合文章使用。照之前所说,让我们开始吧。

CLOD Terrain 101

你已经多次在本书中听到Continuous Level of Detail(CLOD)一词,现在是时候告诉你它到底是什么了。CLOD算法,用一句话来解释,即一个动态多边形网格“给”需要更多细节的区域额外的三角形。这只是一个简单的陈述,学习本章之后,你将了解更多关于CLOD的内容。如果你还不理解CLOD,也别烦恼哈。

为什么要费心使用CLOD地形呢?

CLOD算法需要更多的研究,更难编写程序且比暴力实现方法占用更多的CPU周期。既然如此,为什么还要费心使用CLOD算法呢?答案很简单:为了创建更真实,更细致,最重要的是,更快速的地形。

更多细节添加到更多需要细节的地方

CLOD的一个基本思想就是添加更多的细节(更多三角形)到需要的地方。例如,我们想要一个相对平滑的地形曲面(见图5.1),比起一个相对复杂的地形曲面(见图5.2),需要平均较少的三角形。

这里写图片描述
图5.1 需要较少的三角形渲染平滑地形

这里写图片描述
图5.2 需要较多的三角形渲染复杂地形

然而,不是所有算法都担心需要细化的区域中三角形的分布。Geomipmapping不会对需要细化的区域放置更多三角形,但是Rottger的四叉树算法(第6章,“Climbing the Quadtree”)是这样做的。因此,对CLOD而言,从整体来看,在需要细化的地方添加更多细节,并不总是这样的,但大多数情况下是的。我已经完全把你搞混乱了吗?

剔除之前从未剔除的

基于CLOD算法的另一个优点是比起暴力方法允许选择性地对多边形进行剔除(cull)。这意味着那些看不见的多边形不用发送给API。例如,我们从一系列地形瓦片开始实现geomipmapping。如果某些瓦片不可见,我们一下子消除潜在的289个渲染顶点(17×17的顶点块)。这极大地减轻了显卡加载的负担,并且剔除操作也没有让CPU繁忙。这个简单的方法使得GPU、CPU甚至整个主板工作起来更加轻松。

CLOD地形并不是完美的

尽管使用CLOD地形算法确实存在一些缺点。说来奇怪的是,全世界都在帮我写下这一节,今天我的邮箱收到了8月发行的Game Developer Magazine。大多数CLOD算法的主要缺点是在每帧多边形网格更新时复杂的“薄记(book-keeping)”。

这种“簿记”的缺点几乎不那么普遍当这些算法(geomipmapping,Rottger的四叉树算法以及ROAM)中的大部分被设计时。这是因为这些算法想将大部分工作放在CPU运行,并且只将少量需要的信息传给GPU。不过,从那时起,处理方式已将在发生改变。现在比起CPU,我们更关注GPU。

CLOD地形介绍总结

很显然,如果geomipmapping、四叉树以及ROAM等算法过时了的话,那么现在你就没有机会读它们了,意思就是还有人对每个算法进行优化,让它们成为当今重要的地形渲染算法。考虑到这一点,我将不再唠叨CLOD并开始讲述geomipmapping的实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《学习 3D 中的地形》,英文名《focus on 3D terrain》,作者 Trent Polack,大小 10 Mb,本书是为英文版。内容简介: 游戏开发:3D地形篇《Focus On 3D Terrain Programming》,此教程在全球销量相当好! 你是不是每次见到有相当漂亮地形图面的游戏感到特别吃惊!当你在完3D游戏时.是不是有时画面的真实度,敌方会从各各角度来攻击你.这就需要非常好的地形开发人员来完成游戏的界面设计.这套教程就像给予程序员一个最喜爱的主题.其实对于地形的开发.并不是一个简单的问题.而是相当复杂的过程.本游戏地形开发教程.给你最好的解决办法,并让你设计出一个完美的幻境世界的思维。其实,甚至可以说,目录游戏地形地貌的开发算法,很多已在书中提到。值得相关设计师阅读! 这一系列游戏开发方面的电子书的主编都是一个人!他就是大师Andre LaMothe,它写过一本叫做游戏开发大师技巧的书,好几千页,分上下卷,上卷已经出版了,由一位叫做沙鹰的人翻译的,书籍翻译的质量极高,而且书也是写的非常好!它不愧是大师,它的一整本书会让你读的茅塞顿开,让你恍然大悟,让你非常痛快.所有的大型书店应该都有这本书,大家不信可以去翻翻看看!或者到www.china-pub.com网站上看看关于这本书的书评.入门的话用这本书不会错! 游戏开发职业虽然含金量较高,但从业门槛也高高在上,因此,学习前一定要先看看自己是否适合这一职业。判断标准主要有以下七点:一看学历,一般需有大专以上的教育背景;二看年龄,游戏业是年轻人的行业,18-35岁是最佳年龄段;三看逻辑性,从业人员除具备IT基本知识外,还要有相当强的逻辑能力,否则将难以担当复杂的编程工作;四看知识面,游戏软件开发设计编剧、美术、音乐、动画、程序等诸多方面,知识面宽泛;五看创新能力,游戏开发需要经常翻花头,对开发者创新能力的要求较高;六看合作能力,游戏软件开发往往由一个小组负责,需要开发者有团队合作精神;七看兴趣,游戏开发是一项异常枯燥的工作,如果对此没有足够的兴趣,将很难做好。 发布的这些书都是原版的英文书籍,没有中文的,因为中文翻译的慢!大家如果想从事游戏开发,我真的建议大家先学英语,英语是你一切的一切的基础!大家也可以下载一个金山词霸来边翻译边看!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值