zoukankan      html  css  js  c++  java
  • Terrain

    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

    terrainCell1[1]

    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.

  • 相关阅读:
    乱谈服务器编程
    set global slow_query_log引起的MySQL死锁
    一个由string使用不当产生的问题
    Hbase初体验
    浅谈SQLite——查询处理及优化
    ACID、Data Replication、CAP与BASE
    libevent源码分析
    浅析Linux Native AIO的实现
    vim7.2中文乱码解决方法
    伸展树的点点滴滴
  • 原文地址:https://www.cnblogs.com/graphics/p/1723082.html
Copyright © 2011-2022 走看看