• Terrain

2017-09-15 10:51:00
1. To create a flat terrain, just set the y coordinate to 0 2. The vertices in D3D must be defined in clockwise order. see the picture below so, when you specify the two triangl...

1. To create a flat terrain, just set the y coordinate to 0
2. The vertices in D3D must be defined in clockwise order. see the picture below

so, when you specify the two triangles, you should say, (v0, v1, v2) and (v0, v2, v3), this is the clockwise order, otherwise, the triangle will be culled, and you will see nothing!
3. For any texture the UV co-ordinates are 0,0 for top left and 1,1 for bottom right
4. By default, the D3DXCreateMesh function only support 16bit-indices, that’s to say, you can’t create a terrain with more than 65535 faces, see the first parameter of this function, in order to create a large map, you need to specify the D3DXMESH_32BIT filed, like the following
D3DXCreateMesh(numTris, numVerts, D3DPOOL_SCRATCH|D3DXMESH_32BIT, elems, gd3dDevice, &mesh) ;
 
and the index buffer must be defined with type DWORD, like
 
DWORD* k = 0;
HR(mTerrainMesh->LockIndexBuffer(0, (void**)&k));
5. A normal for a vertex is generated by averaging the normals of all faces that share that vertex.

本文转自zdd博客园博客，原文链接：http://www.cnblogs.com/graphics/archive/2010/04/28/1723082.html，如需转载请自行联系原作者

展开全文
• terrain

2009-10-09 16:59:00
Real-Time 3D Terrain Engines Using C++ and DirectX 9 Focus On 3D Terrain Programming   本文来自CSDN博客，转载请标明出处： http://blog.csdn.net/d04421024/archive/2009/09/23/4578476.aspx
地形的方法真的很多，主要分两种：
1.没有LOD的，主要想法是节省CPU的时间，多用GPU。可以参考http://www.gamedev.net/reference/articles/article1842.asp。
2.带LOD的，主要是减少送入渲染管道的三角形的数量。这里面又可以细分为几种。
a.二元三角树，每帧根据视点的远近，地面的粗糙程度通过剖分和合并三角形动态生成三角形列表。典型的就是ROAM，http://www.cognigraph.com/ROAM_homepage/。
b.四叉树，基本和a一样。
c.LOD，但是先生成不同的细节，渲染时根据离视点的远近直接选择不同的细节，不用即时生成。http://www.flipcode.com/articles/article_geomipmaps.shtml。
地形的光照
http://www.gamedev.net/reference/articles/article1436.asp
这篇文章介绍了一种非常简单的光照方法。
http://www.gamedev.net/reference/articles/article2164.asp
这篇文章介绍了使由高度图生成的地形变的平滑的方法，就是使高度图的每个象素的值等于这个象素周围的象素点的平均值。
关于Terrain的两本书
Real-Time 3D Terrain Engines Using C++ and DirectX 9
Focus On 3D Terrain Programming

本文来自CSDN博客，转载请标明出处：http://blog.csdn.net/d04421024/archive/2009/09/23/4578476.aspx
展开全文
• Terrain

2009-09-22 08:51:00
地形的方法真的很多，主要分两种： ...1.没有LOD的，主要想法是节省CPU的时间，多用GPU。...Real-Time 3D Terrain Engines Using C++ and DirectX 9 Focus On 3D Terrain Programming


地形的方法真的很多，主要分两种：
1.没有LOD的，主要想法是节省CPU的时间，多用GPU。可以参考http://www.gamedev.net/reference/articles/article1842.asp。
2.带LOD的，主要是减少送入渲染管道的三角形的数量。这里面又可以细分为几种。
a.二元三角树，每帧根据视点的远近，地面的粗糙程度通过剖分和合并三角形动态生成三角形列表。典型的就是ROAM，http://www.cognigraph.com/ROAM_homepage/。
b.四叉树，基本和a一样。
c.LOD，但是先生成不同的细节，渲染时根据离视点的远近直接选择不同的细节，不用即时生成。http://www.flipcode.com/articles/article_geomipmaps.shtml。
地形的光照
http://www.gamedev.net/reference/articles/article1436.asp
这篇文章介绍了一种非常简单的光照方法。
http://www.gamedev.net/reference/articles/article2164.asp
这篇文章介绍了使由高度图生成的地形变的平滑的方法，就是使高度图的每个象素的值等于这个象素周围的象素点的平均值。
关于Terrain的两本书
Real-Time 3D Terrain Engines Using C++ and DirectX 9
Focus On 3D Terrain Programming


展开全文
• TERRAIN COMPOSER

2016-10-11 17:32:51
TERRAIN COMPOSER
• granite terrain

2018-06-12 16:03:42
• 地形 Terrain

2013-11-30 15:52:17
Terrain.h Terrain.cpp 基本原理代码实现
• TerrainComposer

2018-10-24 18:36:58
Unity地形插件，获取真实地形，搭配Terrain组件，修饰真实地形等
• Terrain Assets

2016-07-05 21:22:13
Unity 的Terrain Assets资源,直接import进项目
• Cesium terrain

千次阅读 热门讨论 2018-08-22 19:53:26
Cesium terrain 生成 terrain 环境配置： 源码下载 下载地址：https://github.com/ahuarte47/cesium-terrain-builder/tree/master-quantized-mesh gdal: ./GDAL212 zlib: ./ZLIB 编译：cmake： 注意修改黄色...
Cesium terrain
生成 terrain
环境配置：
源码下载 下载地址：https://github.com/ahuarte47/cesium-terrain-builder/tree/master-quantized-mesh  gdal: ./GDAL212  zlib: ./ZLIB  编译：cmake： 注意修改黄色部分为你自己的路径。   打开项目后，修改如下文件： ctb-GDALTiler.cpp (250 行): poSrcOvrDS = GDALCreateOverviewDataset( poSrcDS, iOvr, FALSE); 替换成 poSrcOvrDS = GDALCreateOverviewDataset( poSrcDS, iOvr, FALSE, FALSE); ctb-GlobalGeodetic.cpp (30 行)： srs.importFromEPSG(4326); 替换成 srs.SetWellKnownGeogCS("WGS84"); 随后直接编译整个项目即可。
运行：首先将 build/src/Release 下所有文件拷贝到 build/tools/Release 下。随后将依赖的 gdal、zlib等 dll 拷贝到该文件夹下。在 Release 文件夹下打开命令行，并输入命令： ctb-tile --output-dir E:\xy\doc\Result -f Mesh E:\xy\doc\dem\dem.tif 其中 E:\xy\dem\result 为输出目录（绝对路径），可修改为你自己的， -f Mesh 表示输出格式为 Mesh， E:\xy\dem\dem.tif 为目标 DEM(绝对路径)，还可添加参数 --thread-count 1 表示只启动一个进程方便调试。 如下图所示即完成：
生成 layer.json
按上述配置完环境后，继续在命令行中输入: ctb-tile --output-dir E:\xy\doc\Result -l E:\xy\doc\dem\dem.tif
配置服务
GOROOT：“D:\Go” 安装目录GOPATH：“E:\godata” 自定义工作目录Path： 添加：“D:\Go\bin” 安装目录 bin 目录
可在命令行输入 go env 查看结果：如下图为我的电脑配置：

再输入命令：go get github.com/geo-data/cesium-terrain-server/cmd/cesium-terrain-server，将下载 cesium-terrain-server.exe 到本地，（我已经下载，到 Release 文件夹中，可直接使用）
启动服务 将 Result 文件夹中的数据拷贝到 \Release\data\tilesets\terrain\srtm 下，命令行中输入命令：cesium-terrain-server -dir E:\xy\doc\Release\data\tilesets\terrain\srtm -port 8080即可，如下图表示成功：
随后在 Cesium 中加载自己的地形即可，贴出我的代码：
<!DOCTYPE html>
<html lang="en">
<!-- Use correct character set. -->
<meta charset="utf-8">
<!-- Tell IE to use the latest, best version. -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- Make the application on mobile take up the full browser screen and disable user scaling. -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<title>Hello World!</title>
<script src="../Build/Cesium/Cesium.js"></script>
<style>
@import url(../Build/Cesium/Widgets/widgets.css);
html, body, #cesiumContainer {
width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
}
</style>

<body>
<div id="cesiumContainer"></div>
<script>

var worldTerrain = new Cesium.CesiumTerrainProvider({
url: "http://localhost:8080/tilesets/srtm",
requestVertexNormals: true
});

var viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider:worldTerrain
});
viewer.camera.flyTo({
destination: Cesium.Rectangle.fromDegrees(113.2332549943128726,24.7564554334862272,113.2589865359886261,24.7633767371418578)
});
viewer.scene.globe.enableLighting = true;
</script>
</body>
</html>


后续
由于 ctb 生成的地形默认为 gzip 格式, 不是很方便, 本人稍微修改了 ctb 源码, 添加了 -G 参数, 当携带 -G 参数时 为 gzip, 不携带该参数则为 非 gzip. 即: ctb-tile -G --output-dir E:\xy\doc\Result -f Mesh E:\xy\doc\dem\dem.tif 已上传见 release 版本 : https://download.csdn.net/download/bear_861110453/11540799
展开全文
• 地图切片转换， 将此目录的文件夹0和layer.json文件拷贝覆盖至生成的terrain_tiles文件夹中 说明：默认未生成\0\0\0.terrain文件，如果不存在此文件加载时地球会只显示半边。
• 默认情况下，这是资产/ terrainslicing /地形数据。如果您希望暂时在另一个文件夹中创建地形数据，只需在这里输入新路径。如果希望永久更改默认文件夹，请输入新的文件路径，并选择“保存当前文件路径作为默认文件...
• 在地形terrain上绘制polyine，对绘制完成的polyine进行编辑，包括移动、删除节点 实现方法： 对drawhelper.js进行修改实现 修改内容： 将在球面上绘制polyine扩展为在地形terrain上绘制polyine 修复绘制polyine时，...
• Mesh to Terrain

2016-10-03 12:18:49
Component to quickly convert 3D terrain model created using 3dmax, Terragen or any other editor to Unity Terrain. Features: • Unlimited number of models and terrains used in the component; • ...
• 1.6 Terrain

2020-05-01 18:34:08
Terrain（地形）是Unity提供的一个地形系统，主要用来表现庞大的室外地形，特别适合表现自然的环境。 案例 新建一个Unity工程，在Project窗口单击右键，选择【Import Package】 -> 【Terrain Assets】，然后选择...
• UnityTerrain2Mesh

2018-05-29 11:31:06
• cesium builder terrain api 帮助文档
• Unity Plugin Terrain Composer
• terrain-rgb 使用制成点阵图砖(raster tiles)服务，图砖格式为 ，用以记载高程资讯。 介接方法 : : WMTS : 自行产制图砖 Dependencies GNU coreutils , 指令 make tiles/ Reference ...
• 三个JS Terrain编辑器 该项目的主要目标是实现一个可以编辑地形（平面几何形状）并绘制多个纹理的系统。 我使用 ，它是Javascript WebGL库。 要求 v14（需要ESM） 入门 克隆后 $npm i$ npm start 移动 相机 ZQSD...
• Multiple Terrain Brush is an editor tool with brushes for heightmaps and textures that work on multiple terrains. You can easily paint heightmap and textures, without switching from terrain to terrain...
• Real World Terrain

2019-03-31 12:55:45
But in combination with TerrainComposer you can mix the or alter the heightmaps or add perlin noise to enhance the detail, mix the satellite images with splat textures, add cloud shadows, etc....
• 地形 使用Google Maps API和三个js的3D Terrain Modeler
• Terrain地形

2019-05-01 23:34:00
Terrain：地形 Create Terrain 创建地形 Import Heightmap-Raw 导入高度图-Raw格式 Export Heightmap-Raw 导出高度图-Raw格式 Set Resolution 设置变形，地形大小高度等 Mass Place Trees 大规模放置树 Flatten ...
• terraincomposer2

2018-12-12 10:35:05
terraincomposer2 v2.061 这是一个我觉得比较NB的插件，因为需要做的项目当中涉及到一些周围现实的场景，类似山川、河流等等一系列的真实地形等等，这些地形的制作往往是根据现场调研时候的相片然后有美工搭建，很...

...