- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
创建地形顶点数据
PAGE12 / NUMPAGES18
27.简单地形SimpleTerrainSceneNode类
简单地形的代码完全参考自 HYPERLINK /jiaoyanzu/WULI/showArticle.aspx?articleId=471classId=4 5.8 基于一个顶点缓冲和一个索引缓冲创建一个地形,代码如下,其中创建地形顶点和索引的方法和获取地形任意点高度的方法没有列出,在后面的解释中给出:
namespace StunEngine.SceneNodes
{
/// summary
/// 基于高度图的简单地形,使用一张漫反射纹理,也可以添加一张细节纹理。
/// /summary
public class SimpleTerrainSceneNode : GenericMaterialSceneNode
{
#region 构造函数和成员变量
/// summary
/// 高度图文件名称
/// /summary
private string heightMapName;
/// summary
/// 高度图
/// /summary
Texture2D heightMap;
/// summary
/// 地形的最小高度
/// /summary
private float minimumHeight = float.MaxValue;
/// summary
/// 地形的最大高度
/// /summary
private float maximumHeight = float.MinValue;
/// summary
/// 地形高度的缩放值,默认为30,即高度介于0至30之间
/// /summary
private float height = 30.0f;
/// summary
/// 地形的宽
/// /summary
private int terrainWidth;
/// summary
/// 地形的高
/// /summary
private int terrainHeight;
/// summary
/// 高度数据数组
/// /summary
float[,] heightData;
/// summary
/// 创建一个默认地形,不使用细节纹理,不缩放
/// /summary
/// param name=engine引擎/param
/// param name=setScene所属场景/param
/// param name=setHeightMapName高度贴图/param
/// param name=setColorMap颜色贴图/param
/// param name=setScale缩放/param
public SimpleTerrainSceneNode(StunXnaGE engine, Scene setScene, string setHeightMapName, string setColorMap)
: this(engine, setScene, setHeightMapName, setColorMap, null, Vector2 .Zero ,Vector3 .One)
{
}
/// summary
/// 创建一个地形对象。这个对象放置在(0,0,0) - (heightmap width, maxheight, -heightmap height)范围内
/// /summary
/// param name=game引擎/param
/// param name=setScene所属场景/param
/// par
原创力文档


文档评论(0)