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

            天行健 君子當自強而不息

            網(wǎng)格模型高級技術(shù)(3)

            通過前面的介紹,可以建立起一個網(wǎng)格模型,但這個網(wǎng)格模型是渾然一體的,而在現(xiàn)實生活中,為了能獨立對一個物體的不同部分進行變換,必須將模型分割成不同的模塊,在.x文件中使用框架(frame)對一個網(wǎng)格模型的不同部分進行組織和管理。框架僅僅是一個外殼,在框架中通常需要包含具體的網(wǎng)格和一個框架變換矩陣,其中框架變換矩陣用于指定該框架包含的部分在整個模型中的初始位置。

            模板Frame和FrameTransformMatrix的定義如下:

            Defines a coordinate frame, or "frame of reference." The Frame template is open and can contain any object. The D3DX mesh-loading functions recognize Mesh, FrameTransformMatrix, and Frame template instances as child objects when loading a Frame instance.

            template Frame
            {
            < 3D82AB46-62DA-11CF-AB39-0020AF71E433 >
            [...]
            }

            The frame template recognizes child Frame and Mesh nodes inside a frame and can recognize user-defined templates through a callback function.

            Defines a local transform for a frame (and all its child objects).

            template FrameTransformMatrix
            {
            < F6F23F41-7686-11cf-8F52-0040333594A3 >
            Matrix4x4 frameMatrix;
            }

            Where:

            • frameMatrix - A Matrix4x4 template.

            Defines a 4 x 4 matrix. This is used as a frame transformation matrix.

            template Matrix4x4
            {
            < F6F23F45-7686-11cf-8F52-0040333594A3 >
            array float matrix[16];
            }

            Where:

            • array float matrix[16] - Array of 16 floats.

            框架可以嵌套,即一個框架可以由許多子框架構(gòu)成。例如為了模擬一個人的網(wǎng)格模型,整體可以由頭部、胸部、左臂、右臂、左腿、右腿等框架組成,而左、右臂又可以由上臂、下臂和手三個框架組成,而手又可以由五指和手掌6個框架組成,甚至每個手指還可以繼續(xù)細分。

            我們在cube_2.x的基礎(chǔ)上添加框架構(gòu)成cube_3.x:

            xof 0302txt 0064
            Header {
            1;
            0;
            1;
            }
            Material RedMaterial {                    //第一塊材料
            1.000000;0.000000;0.000000;1.000000;; // R = 1.0, G = 0.0, B = 0.0
            0.000000;
            0.000000;0.000000;0.000000;;
            0.000000;0.000000;0.000000;;
            	TextureFilename 
            {
            "Tex1.jpg"; //紋理文件名
            }
            }
            Material GreenMaterial {                  //第二塊材料
            0.000000;1.000000;0.000000;1.000000;; // R = 0.0, G = 1.0, B = 0.0
            0.000000;
            0.000000;0.000000;0.000000;;
            0.000000;0.000000;0.000000;;
            	TextureFilename  
            {
            "Tex2.jpg"; //紋理文件名
            }
            }
            Frame  CubeFrame {      //框架
            FrameTransformMatrix { //初始位置矩陣
            1.000000, 0.000000, 0.000000, 0.000000,
            0.000000, 1.000000, 0.000000, 0.000000,
            0.000000, 0.000000, 1.000000, 0.000000,
            0.001000, 0.001000, 0.001000, 1.000000;;
            }
            	Mesh Cube {   //網(wǎng)格
            8; //8個頂點,以下為8個頂點的坐標
            1.000000;1.000000;-1.000000;,
            -1.000000;1.000000;-1.000000;,
            -1.000000;1.000000;1.000000;,
            1.000000;1.000000;1.000000;,
            1.000000;-1.000000;-1.000000;,
            -1.000000;-1.000000;-1.000000;,
            -1.000000;-1.000000;1.000000;,
            1.000000;-1.000000;1.000000;;
            		12;            // 12個面, 以下為每個面三個頂點的索引
            3;0,1,2;,
            3;0,2,3;,
            3;0,4,5;,
            3;0,5,1;,
            3;1,5,6;,
            3;1,6,2;,
            3;2,6,7;,
            3;2,7,3;,
            3;3,7,4;,
            3;3,4,0;,
            3;4,7,6;,
            3;4,6,5;;
            		//網(wǎng)格材質(zhì)列表
            MeshMaterialList {
            2; //使用材質(zhì)的數(shù)量:2塊材質(zhì)
            12; //為12個面指定材質(zhì)
            			0,                    //為前6個面使用第一塊材質(zhì)
            0,
            0,
            0,
            0,
            0,
            1, //為后面的6個面使用第二塊材質(zhì)
            1,
            1,
            1,
            1,
            1;;
            			{RedMaterial}       //第一塊材質(zhì),引用前面定義的RedMaterial材質(zhì)
            {GreenMaterial} //第二塊材質(zhì),引用前面定義的GreenMaterial材質(zhì)
            }
            		//頂點法線
            MeshNormals {
            8; //定義8個法線向量
            0.333333;0.666667;-0.666667;,
            -0.816497;0.408248;-0.408248;,
            -0.333333;0.666667;0.666667;,
            0.816497;0.408248;0.408248;,
            0.666667;-0.666667;-0.333333;,
            -0.408248;-0.408248;-0.816497;,
            -0.666667;-0.666667;0.333333;,
            0.408248;-0.408248;0.816497;;
            			12;                   //為12個面的每個頂點指定法線
            3;0,1,2;,
            3;0,2,3;,
            3;0,4,5;,
            3;0,5,1;,
            3;1,5,6;,
            3;1,6,2;,
            3;2,6,7;,
            3;2,7,3;,
            3;3,7,4;,
            3;3,4,0;,
            3;4,7,6;,
            3;4,6,5;;
            }
            		//紋理坐標
            MeshTextureCoords {
            8; //定義8對紋理坐標
            0.000000;1.000000;
            1.000000;1.000000;
            0.000000;1.000000;
            1.000000;1.000000;
            0.000000;0.000000;
            1.000000;0.000000;
            0.000000;0.000000;
            1.000000;0.000000;;
            }
            }
            }

            posted on 2008-05-27 15:05 lovedday 閱讀(1505) 評論(0)  編輯 收藏 引用

            公告

            導航

            統(tǒng)計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關(guān)鏈接

            搜索

            最新評論

            久久av高潮av无码av喷吹| 亚洲国产成人久久综合一区77| 伊人久久大香线蕉av不卡| 国产香蕉久久精品综合网| 亚洲乱码中文字幕久久孕妇黑人| 狠狠干狠狠久久| 亚洲国产婷婷香蕉久久久久久| 久久久久AV综合网成人| 久久伊人中文无码| 国产婷婷成人久久Av免费高清| 青青青伊人色综合久久| 东方aⅴ免费观看久久av | 久久久久国产| 久久综合精品国产二区无码| 久久国产成人午夜AV影院| 看久久久久久a级毛片| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久99精品国产麻豆宅宅| 久久青青草原精品影院| 日韩人妻无码精品久久久不卡| 久久se精品一区精品二区国产 | 狠狠色丁香婷婷综合久久来| 久久综合偷偷噜噜噜色| 久久久久99精品成人片三人毛片 | yellow中文字幕久久网| 国产人久久人人人人爽| 日韩精品久久久久久免费| 久久成人小视频| 国产精品亚洲综合久久| 亚洲国产成人久久精品99 | 久久久综合九色合综国产| 成人综合伊人五月婷久久| 日本人妻丰满熟妇久久久久久| 中文国产成人精品久久不卡| 性做久久久久久免费观看| 色8激情欧美成人久久综合电| 久久综合精品国产一区二区三区| 青青青青久久精品国产| 久久九九久精品国产| 久久亚洲精品国产精品婷婷| 国产毛片欧美毛片久久久|