• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            手動創建X文件(1)

            Posted on 2008-11-30 15:45 Herbert 閱讀(2418) 評論(2)  編輯 收藏 引用 所屬分類: DirectX
              要掌握3D動畫編程,有必要了解動畫文件的格式。X文件的txt格式比較容易理解,是初學者學習3D文件格式的一個不錯的選擇。一個3D文件中可能包含的信息有網格信息、材質信息、動畫信息等。下面我們來試著創建一個有網格信息的X文件。
              先來看一下X文件頭的寫法:
             

            xof 0302txt 0064 

            // xof :固定

            // 0302 :表示使用的是DirectX 3.2版本的模板

            // txt : txt 格式 (X文件分為 txt格式和二進制格式兩種)

            // 0064 :表示浮點型的位數是64位

              

            模板header的定義如下:

            template Header {

             <3D82AB43-62DA-11cf-AB39-0020AF71E433>
            //是GUID(Global Unique Identifier,全局唯一標識符)

             WORD major;      //x文件的最大版本

             WORD minor;      //x文件的最小版本

             DWORD flags;     //定義方式

            }

             

            模板 Mesh 的定義如下:

            template Mesh
            {
                <3D82AB44-62DA-11CF-AB39-0020AF71E433>
                DWORD nVertices;  //頂點個數
                array Vector vertices[nVertices]; //頂點數組
                DWORD nFaces; //面個數
                array MeshFace faces[nFaces]; //面數組
                [...] //表示該模板是開放的模板, 即還可以添加其它信息
            }

             

            模板 Vector 定義如下:

            template Vector
            {
                < 3D82AB5E-62DA-11cf-AB39-0020AF71E433 >
                float x;
                float y;
                float z;
            }

             

            模板 MeshFace 定義如下:

            template MeshFace
            {
                < 3D82AB5F-62DA-11cf-AB39-0020AF71E433 >
                DWORD nFaceVertexIndices; //索引個數(如三角形有3個頂點,則索引個數為3)
                array DWORD faceVertexIndices[nFaceVertexIndices]; //頂點索引列表
            }


            下面是一個立方體的模型文件:

            cube_m.xxof 0302txt 0064

            Header
            {
            1;
            0;
            1;
            }


            Mesh Cube_m
            {
            8;
             2.0;-2.0; 2.0;,
             2.0;-2.0;-2.0;,
            -2.0;-2.0;-2.0;,
            -2.0;-2.0; 2.0;,
             2.0; 2.0; 2.0;,
             2.0; 2.0;-2.0;,
            -2.0; 2.0;-2.0;,
            -2.0; 2.0; 2.0;;

            12;
            3;0,2,1;,
            3;0,3,2;,
            3;4,5,6;,
            3;4,6,7;,
            3;0,1,5;,
            3;0,5,4;,
            3;3,7,6;,
            3;3,6,2;,
            3;1,2,6;,
            3;1,6,5;,
            3;0,4,7;,
            3;0,7,3;;
            }


            運行效果:

             

            Feedback

            # re: 手動創建X文件(1)  回復  更多評論   

            2009-02-21 16:38 by JR_GodLin
            原創還是轉載?

            # re: 手動創建X文件(1)  回復  更多評論   

            2009-02-23 10:57 by Herbert
            你好,我是參考了lovedday的文章,然后自己寫的。lovedday的博客是http://m.shnenglu.com/lovedday/category/4152.html
            色综合久久天天综线观看| 久久精品国产亚洲AV不卡| 色诱久久久久综合网ywww| 久久精品天天中文字幕人妻| 成人精品一区二区久久久| 久久亚洲精品无码VA大香大香| 久久棈精品久久久久久噜噜| 久久久久亚洲AV成人网| 久久久国产乱子伦精品作者| 久久精品国产精品亜洲毛片| 久久精品国产99久久无毒不卡| 久久人妻少妇嫩草AV无码蜜桃| AV狠狠色丁香婷婷综合久久| 久久毛片一区二区| 精品人妻伦一二三区久久| 久久99精品久久久久久动态图| 亚洲午夜无码久久久久小说| 欧美日韩中文字幕久久伊人| 亚洲av成人无码久久精品| 亚洲国产日韩欧美久久| 久久91这里精品国产2020| 99久久99这里只有免费费精品 | 午夜不卡888久久| 伊人久久大香线蕉亚洲五月天| 欧美与黑人午夜性猛交久久久 | 狠狠色丁香久久婷婷综合五月 | 狠狠色婷婷综合天天久久丁香| av色综合久久天堂av色综合在| 午夜精品久久久久久| 久久影院午夜理论片无码| 国产亚洲精久久久久久无码AV| yellow中文字幕久久网| 91精品国产91久久| 国产毛片久久久久久国产毛片| 国产精品欧美亚洲韩国日本久久| 色偷偷888欧美精品久久久| 国产成人99久久亚洲综合精品| 精品乱码久久久久久夜夜嗨| 美女久久久久久| 国内精品伊人久久久久777| 久久精品水蜜桃av综合天堂|