• <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)自強(qiáng)而不息

                 摘要: 為了方便加載.x文件中的框架和網(wǎng)格模型數(shù)據(jù),Direct3D提供了一個(gè)ID3DXAllocateHierarchy接口,該接口中有4個(gè)純虛函數(shù):用來(lái)創(chuàng)建框架的CreateFrame(),創(chuàng)建網(wǎng)格容器的CreateMeshContainer(),銷毀框架的DestroyFrame(),銷毀網(wǎng)格容器的DestroyMeshContainer()。應(yīng)用程序會(huì)在相應(yīng)的時(shí)機(jī)自動(dòng)調(diào)用這些對(duì)應(yīng)的函數(shù),以構(gòu)建或者銷毀對(duì)應(yīng)的框架或網(wǎng)格模型。  閱讀全文
            posted @ 2008-06-11 14:56 lovedday 閱讀(2173) | 評(píng)論 (3)編輯 收藏
                 摘要: 骨骼動(dòng)畫(huà)是目前最流行也最復(fù)雜的角色動(dòng)畫(huà),它包含以下幾個(gè)重要元素:骨骼、動(dòng)畫(huà)。骨骼動(dòng)畫(huà)思想的起源很簡(jiǎn)單,自然界中的大多數(shù)動(dòng)物都擁有一套骨骼,身體的皮毛血肉都依附于骨骼,當(dāng)骨骼開(kāi)始運(yùn)動(dòng)的時(shí)候,依附于對(duì)應(yīng)骨骼的皮毛血肉都隨骨骼一起運(yùn)動(dòng)。在三維圖形編程領(lǐng)域,角色的軀體是由網(wǎng)格模型來(lái)表示的,網(wǎng)格模型通常由大量三角形圖元組成,而三角形又是由頂點(diǎn)組成的。為了模仿現(xiàn)實(shí)世界中角色自身的動(dòng)作,就需要為角色網(wǎng)格模型添加一套骨骼,同時(shí)需要確定哪些頂點(diǎn)依附于哪塊骨骼,這樣當(dāng)骨骼運(yùn)動(dòng)時(shí)就能牽引依附骨骼的頂點(diǎn)一起運(yùn)動(dòng),這就是骨骼動(dòng)畫(huà)的基本原理。  閱讀全文
            posted @ 2008-06-11 14:22 lovedday 閱讀(2113) | 評(píng)論 (2)編輯 收藏

            In order to understand "delete this" :

            First Step------dive into "delete p"

            delete p 執(zhí)行了哪兩個(gè)步驟?
            delete p 是一個(gè)兩步的過(guò)程:調(diào)用析構(gòu)函數(shù),然后釋放內(nèi)存。delete p產(chǎn)生的代碼看上去是這樣的(假設(shè)是Fred*類型的):

            // 原始碼:delete p;
            if (p != NULL)
            {
               p->~Fred();
               operator delete(p);
            }

            p->~Fred() 語(yǔ)句調(diào)用 p 指向的Fred 對(duì)象的析構(gòu)函數(shù)。

            operator delete(p) 語(yǔ)句調(diào)用內(nèi)存釋放原語(yǔ) void operator delete(void* p)。

            Second Step-------"delete this"

            成員函數(shù)調(diào)用delete this合法嗎?
            只要你小心,一個(gè)對(duì)象請(qǐng)求自殺(delete this),是可以的。

            以下是我對(duì)“小心”的定義:

            你必須100%的確定,this對(duì)象是用 new分配的(不是用new[],也不是用定位放置 new,也不是一個(gè)棧上的局部對(duì)象,也不是全局的,也不是另一個(gè)對(duì)象的成員,而是明白的普通的new)。

            你必須100%的確定,該成員函數(shù)是this對(duì)象最后調(diào)用的的成員函數(shù)。

            你必須100%的確定,剩下的成員函數(shù)(delete this之后的)不接觸到 this對(duì)象任何一塊(包括調(diào)用任何其他成員函數(shù)或訪問(wèn)任何數(shù)據(jù)成員)。

            你必須 100%的確定,在delete this之后不再去訪問(wèn)this指針。換句話說(shuō),你不能去檢查它,將它和其他指針比較,和 NULL比較,打印它,轉(zhuǎn)換它,對(duì)它做任何事。

            自然,對(duì)于這種情況還要習(xí)慣性地告誡:當(dāng)你的指針是一個(gè)指向基類類型的指針,而沒(méi)有虛析構(gòu)函數(shù)時(shí)(也不可以 delete this)。

            注意:因?yàn)槭窃陬惓蓡T函數(shù)里面delete this的,所以在此語(yǔ)句以后,不能訪問(wèn)任何的成員變量及虛函數(shù),否則一定非法。


            posted @ 2008-06-03 18:17 lovedday 閱讀(6305) | 評(píng)論 (0)編輯 收藏
                 摘要: 使用類CDXUTMeshFile進(jìn)行網(wǎng)格模型的繪制,首先在OnCreateDevice()里創(chuàng)建CDXUTMeshFile對(duì)象,接著在OnFrameRender()里渲染網(wǎng)格模型,最后在OnDestroyDevice()里釋放該對(duì)象所申請(qǐng)的資源。  閱讀全文
            posted @ 2008-06-01 11:30 lovedday 閱讀(935) | 評(píng)論 (1)編輯 收藏
                 摘要: 使用CDXUTMesh進(jìn)行網(wǎng)格模型的繪制,首先在OnCreate()函數(shù)中創(chuàng)建CDXUTMesh對(duì)象,接著在OnFrameRender()中繪制(先繪制不透明的網(wǎng)格,再繪制半透明的網(wǎng)格)。  閱讀全文
            posted @ 2008-06-01 11:09 lovedday 閱讀(1050) | 評(píng)論 (0)編輯 收藏
                 摘要: 類CDXUTMeshFile位于DXUTMesh.h和DXUTMesh.cpp中,繼承自類CDXUTMeshFrame,其實(shí)類 CDXUTMeshFrame本身只完成一些基礎(chǔ)操作,不是最終使用的一個(gè)類,CDXUTMeshFile在CDXUTMeshFrame的基礎(chǔ)上將各種操作進(jìn)一步封裝。

            在.x網(wǎng)格模型中使用框架的主要目的是實(shí)現(xiàn)模型自身包含的動(dòng)畫(huà),而CDXUTMeshFile和CDXUTMeshFrame雖然考慮了網(wǎng)格模型的層次框架,可是并沒(méi)有實(shí)現(xiàn)對(duì)網(wǎng)格模型動(dòng)畫(huà)的播放,所以通常不直接使用這兩個(gè)類,因?yàn)閷?duì)于不包含動(dòng)畫(huà)信息的靜態(tài)網(wǎng)格模型CDXUTMesh類就已經(jīng)足夠了。當(dāng)然也完全可以像使用CDXUTMesh類一樣使用CDXUTMeshFile類來(lái)操作不包含動(dòng)畫(huà)信息的網(wǎng)格模型。  閱讀全文
            posted @ 2008-06-01 10:13 lovedday 閱讀(1288) | 評(píng)論 (0)編輯 收藏
                 摘要: 類CDXUTMeshFrame封裝了CDXUTMesh,與CDXUTMesh不同的是,類CDXUTMeshFrame可以包含框架層次結(jié)構(gòu),適用于更復(fù)雜的網(wǎng)格模型,框架層次正是骨骼動(dòng)畫(huà)所必須的。  閱讀全文
            posted @ 2008-06-01 07:50 lovedday 閱讀(1047) | 評(píng)論 (0)編輯 收藏
                 摘要: 類CDXUTMesh主要用于從一個(gè)指定的網(wǎng)格模型中加載數(shù)據(jù)、渲染模型以及銷毀網(wǎng)格模型,它將整個(gè)網(wǎng)格模型作為一個(gè)整體進(jìn)行操作,沒(méi)有考慮網(wǎng)格模型內(nèi)部的框架層次,對(duì)于不包含動(dòng)畫(huà)信息的網(wǎng)格模型,使用該類是一個(gè)比較好的選擇。  閱讀全文
            posted @ 2008-05-31 11:37 lovedday 閱讀(1098) | 評(píng)論 (1)編輯 收藏
                 摘要: 最后一類是渲染函數(shù),類CDXUTMesh重載了兩個(gè)渲染函數(shù)Render(),其作用都是用來(lái)渲染當(dāng)前的網(wǎng)格模型。所不同的是,第一個(gè)函數(shù)用在固定函數(shù)流水線中,第二個(gè)函數(shù)用在可編程流水線技術(shù)中,這兩個(gè)函數(shù)的最后兩個(gè)參數(shù)用于指定是否渲染網(wǎng)格模型中的不透明和半透明部分。  閱讀全文
            posted @ 2008-05-31 11:36 lovedday 閱讀(510) | 評(píng)論 (0)編輯 收藏
                 摘要: 第三類是設(shè)置渲染選項(xiàng)函數(shù)。其中UseMeshMaterials()函數(shù)用于設(shè)置是否使用網(wǎng)格模型自身的材質(zhì)和紋理進(jìn)行渲染,如果調(diào)用該函數(shù)并將參數(shù) m_bUseMaterials設(shè)置為T(mén)RUE,則在渲染時(shí)使用網(wǎng)格模型自身的材質(zhì)和紋理,這也是默認(rèn)資源,如果將參數(shù)m_bUseMaterials設(shè)置為FALSE,則在渲染時(shí)不使用網(wǎng)格模型自身的材質(zhì)和紋理,自然就使用當(dāng)前為Direct3D設(shè)置的材質(zhì)和紋理渲染網(wǎng)格模型。  閱讀全文
            posted @ 2008-05-31 10:59 lovedday 閱讀(1138) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題
            共136頁(yè): 1 2 3 4 5 6 7 8 9 Last 

            公告

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            隨筆分類(178)

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

            搜索

            最新評(píng)論

            久久久久国产视频电影| 97久久精品无码一区二区| 久久久噜噜噜久久| 久久天天躁狠狠躁夜夜avapp| 国内精品伊人久久久久777| 国产一级做a爰片久久毛片| 久久99亚洲综合精品首页| 久久婷婷是五月综合色狠狠| 久久久久久人妻无码| 青青久久精品国产免费看| 久久人人爽爽爽人久久久| 久久精品中文字幕第23页| 日产精品久久久久久久性色| 狠狠色综合网站久久久久久久| 波多野结衣AV无码久久一区| 亚洲国产成人久久精品影视| 久久精品国产AV一区二区三区 | 久久99中文字幕久久| 国产精品久久婷婷六月丁香| 人人狠狠综合久久亚洲88| 色欲综合久久躁天天躁蜜桃| 久久国产免费直播| 91亚洲国产成人久久精品| 久久久久AV综合网成人| 麻豆AV一区二区三区久久| 99久久香蕉国产线看观香| 久久综合成人网| 久久久久久国产a免费观看不卡| 精品久久久久久国产| 久久久久久无码Av成人影院| 无码专区久久综合久中文字幕| 亚洲精品乱码久久久久久蜜桃| 国产成人久久精品麻豆一区| 久久久久中文字幕| 日本久久久精品中文字幕| 久久99国产精品二区不卡| 久久久精品免费国产四虎| 一本久久a久久精品综合夜夜| 国产高潮国产高潮久久久| 国内精品伊人久久久久av一坑| 久久99热只有频精品8|