摘要: 问题 当你制作一个使用地形的游戏时,你需要知道地形确定点的精确高度。例如,在地形上移动一个模型时(见教程4-17),当检测到光标和地形之间的碰撞时(下一个教程),或防止相机与地形碰撞时(见教程2-6)。 因为在前一个教程中你定义了地形每个顶点的3D位置,所以获取这些点的高度很简单。对位于这些顶点间的位置而言,你需要使用一种插值方法获取这个位置的精确高度。 解决方案 如果你想知道高度的点与地... 阅读全文
posted @ 2011-01-28 11:05 AlexCheng 阅读(1270) 评论(0) 推荐(0)
摘要: 问题 基于一张2D高度图,你想创建一个地形并以一个有效率的方法绘制它。 解决方案 首先需要一张高度图,包含所有用来定义地形的高度数据。这张高度图有确定数量的二维数据点,我们称之为地形的宽和高。 显然,如果你想基于这些数据创建一个地形,这个地形将从这些width*height顶点中绘制,如图5-14右上角所示(注意数字是从0开始的)。 图5-14 地形网格 要使用三角形完全覆盖网... 阅读全文
posted @ 2011-01-28 11:02 AlexCheng 阅读(1235) 评论(1) 推荐(0)
摘要: 问题 当绘制自定义的结构时,你会发现光照不正确。 这是因为你没有指定正确的法线向量,显卡要求每个顶点都有法线信息,这样它才可以决定每个三角形获得多少光照,详细信息可见第六章。 为每个顶点计算法线向量看起来很复杂,因为大多数顶点被多个三角形共享。 解决方案 如果每个顶点只被一个三角形使用,你只需找到三角形的法线向量(换句话说,这个向量垂直于三角形)并将这个向量作为三个顶点的法线向量。 但... 阅读全文
posted @ 2011-01-28 10:58 AlexCheng 阅读(904) 评论(0) 推荐(0)