OpenGL Mathematics(GLM) - 幾何數學庫

    由於C/C++標準庫中沒有幾何數學庫,這樣造成在開發一個三維繫統之初往往都需要自行實現一個實用的幾何數學庫,這樣太費時費力了。GLM的出現可以很好的解決這個問題。
    GLM設計上遵照OpenGL Shading Language風格,使用開放的MIT授權協議。會GLSL的人可以很快上手。因採用了數據結構與函數方法分離的方式,可以很容易擴充函數方法而不改變原文件(增加新的頭文件即可,不過得在不同的頭文件中找函數方法比較費力)。

    簡單示例,包含頭文件“glm.hpp”即可使用核心功能:
    #include <glm/glm.hpp>
    int foo()
    {
        glm::vec4 Position = glm::vec4(glm::vec3(0.0), 1.0);
        glm::mat4 Model = glm::mat4(1.0);
        Model[3] = glm::vec4(1.0, 1.0, 0.0, 1.0);
        glm::vec4 Transformed = Model * Position;
        return 0;
    }

   
    最新版本爲:GLM 0.9.2.2。目前還處於Beta版,Christophe Riccio還在活躍的更新完善此庫。使用時需注意規避Bug。

    項目主頁:glm.g-truc.net (目前無法進入,可能是國內原因)
    代碼地址:http://sourceforge.net/projects/ogl-math/
    Trac地址:http://sourceforge.net/apps/trac/ogl-math/ (可在此提交Bug及跟蹤開發進度)

    另一個類似的庫是:Shading Language Math for C++(slmath)
    代碼地址:http://code.google.com/p/slmath/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章