且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Terrain

更新时间:2022-09-16 10:13:29

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

Terrain

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,如需转载请自行联系原作者

相关阅读