zoukankan      html  css  js  c++  java
  • Direct3D 9学习笔记(11)网格(Mesh)2

    七.网格优化

    image

    参数解释:

    image

    示例:

    //
    // Optimize the mesh to generate an attribute table.
    //
    
    std::vector<DWORD> adjacencyBuffer(Mesh->GetNumFaces() * 3);
    Mesh->GenerateAdjacency(0.0f, &adjacencyBuffer[0]);
    
    hr = Mesh->OptimizeInplace(        
        D3DXMESHOPT_ATTRSORT |
        D3DXMESHOPT_COMPACT  |
        D3DXMESHOPT_VERTEXCACHE,
        &adjacencyBuffer[0],
        0, 0, 0);
    

    image

    八.属性表

    image

    image

    image

    九.邻接信息

    image

    image

    image

    示例:

    void dumpAdjacencyBuffer(std::ofstream& outFile, ID3DXMesh* mesh)
    {
        outFile << "Adjacency Buffer:" << std::endl;
        outFile << "-----------------" << std::endl << std::endl;
    
        // three enttries per face
        std::vector<DWORD> adjacencyBuffer(mesh->GetNumFaces() * 3);
    
        mesh->GenerateAdjacency(0.0f, &adjacencyBuffer[0]);
    
        for(int i = 0; i < mesh->GetNumFaces(); i++)
        {
            outFile << "Triangle's adjacent to triangle " << i << ": ";
            outFile << adjacencyBuffer[i * 3    ] << " ";
            outFile << adjacencyBuffer[i * 3 + 1] << " ";
            outFile << adjacencyBuffer[i * 3 + 2] << std::endl;
        }
    
        outFile << std::endl << std::endl;
    }
    

    十.网格克隆

    HRESULT CloneMesh(
        [in]           DWORD Options,
        [in]           const D3DVERTEXELEMENT9 *pDeclaration,
        [in]           LPDIRECT3DDEVICE9 pDevice,
        [out, retval]  LPD3DXMESH *ppCloneMesh
        );
    

    image

  • 相关阅读:
    【linux】驱动-13-阻塞与非阻塞
    【linux】驱动-12-并发与竞态
    【linux】驱动-11-gpio子系统
    【linux】驱动-10-pinctrl子系统
    【linux】驱动-9-设备树插件
    手写Java分页模块
    JDBC连接与自定义线程池
    类加载器
    网络编程之TCP
    网络编程之UDP
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/2647473.html
Copyright © 2011-2022 走看看