导航

随笔分类 -  3D开发技术

3D开发技术
摘要:使用Height Map作为输入 首先,什么是高度图(Height Map)呢?所谓高度图实际上就是一个2维数组。创建地形为什么需要高度图呢?我们这样考虑,地形实际上就是一系列高度不同的网格而已,这样数组中每个元素的索引值刚好可以用来定位不用的网格(x,y),而所储存的值就是网格的高度(z)。正是由于这个简单的映射关系,最常见的地形生成方法都使用高度图作为输入数据。同时,为了减小数组的尺寸,通常使用Byte类型来保存高度值,因此,地形中最低点将用0表示,而最高点使用255表示(当然,这样做可能会出现一些问题,比如,地形中大部分区域的高度差别都不大,但是有少数地方高度差特别大时,不过大多数情况下 阅读全文

posted @ 2011-06-10 09:50 平风 阅读(1000) 评论(0) 推荐(0)

摘要:1. X文件简介在D3D中, X文件主要是用来存储网格数据的,当然不光是网格数据,它还用来存储有关纹理,动画及用户定义的对象的一些数据.X文件还是模板驱动(Template-Driven)的,也就是说它存储数据的格式是基于模板的. 这使得这种文件格式具有结构自由,内容丰富,易应用,可移植性高等优点.2. X文件中的模板(Template)模板定义了数据流是怎样被格式化的,也就是告诉你对于一个3D模型的各种数据,它们是以什么格式存放在数据流中的(这里指文件)。a. 模板的格式在X文件中,一般会有如下所示的格式:template <template-name> { // 模板名 < 阅读全文

posted @ 2011-06-10 09:41 平风 阅读(1325) 评论(0) 推荐(0)

摘要:C#语言有很多值得学习的地方,这里我们主要介绍C# Direct3D模型,包括介绍改成PositionColored格式等方面。什么是真正的3D世界呢?或者说C# Direct3D模型是什么样的呢?C# Direct3D模型由World 空间,View 空间和光源组成。World空间就像我们现实生活中的空间一样,我们可以把物体放在这个空间的任何地方。但仅仅这样是不够的。因为现实中,我们是通过眼睛来看事物的,存在的东西不一定我们可以看得到,太远的东西看不到,被挡住的东西看不到,太近的东西也看不到,在我们视角以外的东西一样看不到。在 Direct3D中用camera来模拟我们的眼睛。另外还有一个重 阅读全文

posted @ 2011-06-09 14:26 平风 阅读(914) 评论(0) 推荐(0)