• <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>

            手動(dòng)創(chuàng)建X文件(1)

            Posted on 2008-11-30 15:45 Herbert 閱讀(2407) 評(píng)論(2)  編輯 收藏 引用 所屬分類: DirectX
              要掌握3D動(dòng)畫(huà)編程,有必要了解動(dòng)畫(huà)文件的格式。X文件的txt格式比較容易理解,是初學(xué)者學(xué)習(xí)3D文件格式的一個(gè)不錯(cuò)的選擇。一個(gè)3D文件中可能包含的信息有網(wǎng)格信息、材質(zhì)信息、動(dòng)畫(huà)信息等。下面我們來(lái)試著創(chuàng)建一個(gè)有網(wǎng)格信息的X文件。
              先來(lái)看一下X文件頭的寫(xiě)法:
             

            xof 0302txt 0064 

            // xof :固定

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

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

            // 0064 :表示浮點(diǎn)型的位數(shù)是64位

              

            模板header的定義如下:

            template Header {

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

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

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

             DWORD flags;     //定義方式

            }

             

            模板 Mesh 的定義如下:

            template Mesh
            {
                <3D82AB44-62DA-11CF-AB39-0020AF71E433>
                DWORD nVertices;  //頂點(diǎn)個(gè)數(shù)
                array Vector vertices[nVertices]; //頂點(diǎn)數(shù)組
                DWORD nFaces; //面?zhèn)€數(shù)
                array MeshFace faces[nFaces]; //面數(shù)組
                [...] //表示該模板是開(kāi)放的模板, 即還可以添加其它信息
            }

             

            模板 Vector 定義如下:

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

             

            模板 MeshFace 定義如下:

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


            下面是一個(gè)立方體的模型文件:

            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;;
            }


            運(yùn)行效果:

             

            Feedback

            # re: 手動(dòng)創(chuàng)建X文件(1)  回復(fù)  更多評(píng)論   

            2009-02-21 16:38 by JR_GodLin
            原創(chuàng)還是轉(zhuǎn)載?

            # re: 手動(dòng)創(chuàng)建X文件(1)  回復(fù)  更多評(píng)論   

            2009-02-23 10:57 by Herbert
            你好,我是參考了lovedday的文章,然后自己寫(xiě)的。lovedday的博客是http://www.shnenglu.com/lovedday/category/4152.html
            九九99精品久久久久久| 99久久国产综合精品五月天喷水 | 热久久最新网站获取| 国产成人精品久久亚洲| 久久久精品波多野结衣| 色狠狠久久综合网| 久久精品国产精品亚洲精品| 国内精品伊人久久久久网站| 亚洲va久久久久| 国产91色综合久久免费分享| 国产农村妇女毛片精品久久| 久久天天躁狠狠躁夜夜躁2014| 久久久久久夜精品精品免费啦| 狠狠综合久久综合中文88| 青青草原综合久久大伊人| 日韩亚洲欧美久久久www综合网| 久久亚洲国产成人精品无码区| 欧美牲交A欧牲交aⅴ久久| 久久成人国产精品一区二区| 国产精品久久久久久久app| 粉嫩小泬无遮挡久久久久久| 欧美日韩精品久久久免费观看| 欧美熟妇另类久久久久久不卡| 亚洲欧洲中文日韩久久AV乱码| 99久久国语露脸精品国产| 三级三级久久三级久久| 精品久久久久久无码免费| 久久亚洲精品成人AV| 伊人热热久久原色播放www | 欧美久久久久久午夜精品| 久久久精品国产sm调教网站| 久久国内免费视频| 久久久久人妻精品一区三寸蜜桃| 韩国无遮挡三级久久| 久久亚洲精品成人AV| 性欧美大战久久久久久久久| 日韩精品无码久久一区二区三| 久久这里只有精品首页| 大伊人青草狠狠久久| 久久免费的精品国产V∧| 亚洲国产欧洲综合997久久|