• <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>
            Dict.CN 在線詞典, 英語學(xué)習(xí), 在線翻譯

            學(xué)海苦作舟,書山勤為徑

            留下點(diǎn)回憶

            常用鏈接

            統(tǒng)計(jì)

            積分與排名

            Denoise

            English study

            Web技術(shù)

            數(shù)據(jù)壓縮

            一些連接

            最新評論

            DirectX圖象中設(shè)備支持的原基類型-D3D入門

            微軟D3D設(shè)備能創(chuàng)建和操縱下面初基類型:

            l         點(diǎn)列表

            l         線列表

            l         線帶

            l         三角形列表

            l         三角形帶

            l         三角形扇區(qū)

            你能用IDirect3DDevice9接口中的任何粉刷方法在C++程序中粉刷原基。

            1.1.1.1.    點(diǎn)列表

            一個(gè)點(diǎn)列表是一個(gè)頂點(diǎn)的集合,這些頂點(diǎn)被作為單獨(dú)的點(diǎn)來粉刷。你的程序可以在3-D場景中用它們作為在多邊形表面上開始字段、點(diǎn)線。

            下圖描述了一個(gè)粉刷后的點(diǎn)列表。

            point list.JPG


            你的程序能在一個(gè)點(diǎn)列表上應(yīng)用素材和紋理,素材或紋理的顏色僅僅出現(xiàn)在點(diǎn)上,而不是在點(diǎn)之間的任何地方。

            下面的代碼顯示怎么樣為頂點(diǎn)創(chuàng)建點(diǎn)列表:

            struct CUSTOMVERTEX

            {

                float x,y,z;

            };

             

            CUSTOMVERTEX Vertices[] =

            {

                {-5.0, -5.0, 0.0},

                { 0.0,  5.0, 0.0},

                { 5.0, -5.0, 0.0},

                {10.0,  5.0, 0.0},

                {15.0, -5.0, 0.0},

                {20.0,  5.0, 0.0}

            };

            下面的例子展示了怎么樣使用IDirect3DDevice9::DrawPrimitive來粉刷一個(gè)點(diǎn)列表:

            //

            // It is assumed that d3dDevice is a valid

            // pointer to a IDirect3DDevice9 interface.

            //

            d3dDevice->DrawPrimitive( D3DPT_POINTLIST, 0, 6 );

            1.1.1.2.    線列表

            一個(gè)線列表是一些獨(dú)立的直線段。線列表在3D場景中添加凍雨或大雨是非常有用。程序通過填充一個(gè)頂點(diǎn)數(shù)組來創(chuàng)建一個(gè)先列表,并且線列表中的頂點(diǎn)數(shù)量必須是偶數(shù)且大于或等于2

            下圖顯示了一個(gè)粉刷線列表:

            line list.JPG


            你可以在線列表上應(yīng)用素材和紋理,素材和紋理的顏色僅僅出現(xiàn)在線上,而不是線之間的任何點(diǎn)。

            下面的代碼表明如何為線列表創(chuàng)建頂點(diǎn)。

            struct CUSTOMVERTEX

            {

                float x,y,z;

            };

             

            CUSTOMVERTEX Vertices[] =

            {

                {-5.0, -5.0, 0.0},

                { 0.0,  5.0, 0.0},

                { 5.0, -5.0, 0.0},

                {10.0,  5.0, 0.0},

                {15.0, -5.0, 0.0},

                {20.0,  5.0, 0.0}

            };

            下面的代碼展示了怎么樣使用IDirect3DDevice9::DrawPrimitive來粉刷一個(gè)線列表:

            //
            // It is assumed that d3dDevice is a valid
            // pointer to a IDirect3DDevice9 interface.
            //
            d3dDevice->DrawPrimitive (D3DPT_LINELIST, 0, 3);

            1.1.1.3.    線帶

            線帶是由連接的線段組成的一種原基;你的程序可以使用線帶來創(chuàng)建不關(guān)閉的多邊形。一個(gè)關(guān)閉的多邊形是最后一個(gè)頂點(diǎn)通過線段連接到第一個(gè)頂點(diǎn)的多邊形。如果你的程序制作基于線帶的多邊形,頂點(diǎn)并不保證是共面的。

            下圖顯示了一個(gè)粉刷過后的線帶:

            line strips.JPG


            下面代碼顯示了如何創(chuàng)建一個(gè)線帶的頂點(diǎn):

            struct CUSTOMVERTEX

            {

                float x,y,z;

            };

             

            CUSTOMVERTEX Vertices[] =

            {

                {-5.0, -5.0, 0.0},

                { 0.0,  5.0, 0.0},

                { 5.0, -5.0, 0.0},

                {10.0,  5.0, 0.0},

                {15.0, -5.0, 0.0},

                {20.0,  5.0, 0.0}

            };

            下面代碼顯示了怎么樣使用IDirect3DDevice9::DrawPrimitive來粉刷這個(gè)線帶:

            //
            // It is assumed that d3dDevice is a valid
            // pointer to a IDirect3DDevice9 interface.
            //
            d3dDevice->DrawPrimitive( D3DPT_LINESTRIP, 0, 5 );

            1.1.1.4.    三角形列表

            三角形列表是一系列獨(dú)立的三角形。他們或許彼此相鄰,也可能不相鄰。一個(gè)三角形列表必須至少有三個(gè)頂點(diǎn),總頂點(diǎn)數(shù)必須能被3整除。

            使用三角形列表來創(chuàng)建由不相交的塊組成的對象,例如,在3D游戲中創(chuàng)建FORCE-FIELD墻就使用大量小的不相連的三角形,然后應(yīng)用素材和紋理,看起來散發(fā)光到三角形列表;每個(gè)墻上的三角形看起來都發(fā)光,在墻后面的場景通過三角形之間的縫變的部分可見,就像一個(gè)玩家看到一個(gè)FORCE FIELD一樣。

            三角形列表通常用來創(chuàng)建有明顯邊和帶有Gouraud陰影的原基,見Face和頂點(diǎn)法線向量。

            下圖顯示一個(gè)著色之后的三角形列表:

            Triangle list.JPG


            下面的代碼顯示如何創(chuàng)建一個(gè)三角形列表的頂點(diǎn):

            struct CUSTOMVERTEX

            {

                float x,y,z;

            };

             

            CUSTOMVERTEX Vertices[] =

            {

                {-5.0, -5.0, 0.0},

                { 0.0,  5.0, 0.0},

                { 5.0, -5.0, 0.0},

                {10.0,  5.0, 0.0},

                {15.0, -5.0, 0.0},

                {20.0,  5.0, 0.0}

            };

            下面的代碼顯示怎么樣使用IDirect3DDevice9::DrawPrimitive來對這個(gè)三角形列表進(jìn)行著色:

            //
            // It is assumed that d3dDevice is a valid
            // pointer to a IDirect3DDevice9 interface.
            //
            d3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 2 );

            1.1.1.5.    三角形帶

            三角形帶是一系列相互連接的三角形組成。因?yàn)槿切问窍噙B的,程序不需要重復(fù)指定所有三角形的頂點(diǎn);例如:你僅僅需要7個(gè)頂點(diǎn)來定義下面的三角形帶:

            Triangle strip.JPG


            系統(tǒng)使用頂點(diǎn)v1,v2v3來畫第一個(gè)三角形,v2,v4v3來畫第二個(gè)三角形;v3v4v5來化第三個(gè)三角形,v4v6v5來畫第四個(gè)三角形等等。注意第二個(gè)三角形的頂點(diǎn)和第4個(gè)三角形的頂點(diǎn)是倒序的,這保證所有的三角形都以順時(shí)針的方向被畫出來。

            3D場景中的大多數(shù)對象都是由三角形帶組成,這是因?yàn)槿切螏苡脕硪杂行У厥褂脙?nèi)存和處理時(shí)間的方式指定復(fù)雜的對象。

            下面的圖顯示一個(gè)著色后的三角形帶:

            Triangle strip1.JPG


            下面代碼說明怎么樣為這個(gè)三角形帶定義頂點(diǎn)集合:

            struct CUSTOMVERTEX

            {

                float x,y,z;

            };

             

            CUSTOMVERTEX Vertices[] =

            {

                {-5.0, -5.0, 0.0},

                { 0.0,  5.0, 0.0},

                { 5.0, -5.0, 0.0},

                {10.0,  5.0, 0.0},

                {15.0, -5.0, 0.0},

                {20.0,  5.0, 0.0}

            };

            下面的代碼展示了怎么樣使用IDirect3DDevice9::DrawPrimitive來為這個(gè)三角形著色:

            //
            // It is assumed that d3dDevice is a valid
            // pointer to a IDirect3DDevice9 interface.
            //
            d3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 4);

            1.1.1.6.    三角形扇區(qū)

            除了所有的三角都共享一個(gè)頂點(diǎn)之外,三角形扇和三角形帶相似。如下圖所示:

            Triangle fan.JPG


            系統(tǒng)使用v2v3v1來畫第一個(gè)三角形,使用v3v4v1來畫第二個(gè)三角形,使用v4v5v1來畫第三個(gè)等等。當(dāng)平面陰影有效的時(shí)候,系統(tǒng)從第一個(gè)三角形開始使用指定的顏色來陰影。

            該圖描述了著色以后的三角形扇:
            Triangle fan1.JPG

            下面的代碼顯示怎么樣為這個(gè)三角形扇定義頂點(diǎn)集:

            struct CUSTOMVERTEX

            {

                float x,y,z;

            };

             

            CUSTOMVERTEX Vertices[] =

            {

                { 0.0, 0.0, 0.0},

                {-5.0, 5.0, 0.0},

                {-3.0,  7.0, 0.0},

                { 0.0, 10.0, 0.0},

                { 3.0,  7.0, 0.0},

                { 5.0,  5.0, 0.0},

            };

            下面的代碼顯示怎么樣使用IDirect3DDevice9::DrawPrimitive來為這個(gè)三角形扇著色:

            //
            // It is assumed that d3dDevice is a valid
            // pointer to a IDirect3DDevice9 interface.
            //
            d3dDevice->DrawPrimitive( D3DPT_TRIANGLEFAN, 0, 4 );

             

            posted on 2006-02-25 01:15 笨笨 閱讀(1390) 評論(1)  編輯 收藏 引用 所屬分類: DirectX3D

            評論

            # re: DirectX圖象中設(shè)備支持的原基類型-D3D入門 2008-08-01 22:47 曹丹

            對DX DOCUMENT 翻譯工作還是值得肯定的,希望你可以翻譯一些高級主題。。
              回復(fù)  更多評論   

            亚洲愉拍99热成人精品热久久| 伊人丁香狠狠色综合久久| 欧美精品乱码99久久蜜桃| 久久无码中文字幕东京热| 色播久久人人爽人人爽人人片AV| 午夜人妻久久久久久久久| 94久久国产乱子伦精品免费| 国产精品中文久久久久久久| 成人资源影音先锋久久资源网| 久久综合视频网站| 久久se精品一区二区| 久久无码专区国产精品发布| 国内精品伊人久久久久影院对白 | 久久久久免费精品国产| 91精品国产乱码久久久久久| 一本综合久久国产二区| 一本色道久久88加勒比—综合| 99久久国产精品免费一区二区| 99精品久久久久久久婷婷| 久久天天躁狠狠躁夜夜躁2O2O| 亚洲精品tv久久久久久久久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 99久久免费只有精品国产| 久久夜色精品国产网站| 区久久AAA片69亚洲| 欧美午夜A∨大片久久| 99久久国产主播综合精品| 国内精品久久久久影院日本| 久久频这里精品99香蕉久| 久久丝袜精品中文字幕| 国内精品久久久久久久亚洲| 亚洲一本综合久久| 久久国产精品一区二区| 丁香五月网久久综合| 99久久国语露脸精品国产| 99久久国产综合精品女同图片| 久久综合久久美利坚合众国| 一本久久免费视频| 伊人久久综合精品无码AV专区 | 久久九九青青国产精品| 999久久久免费精品国产|