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

            天行健 君子當自強而不息

            紋理映射基礎

            紋理映射基礎(7)      摘要: 紋理階段混合狀態用于指定當前紋理顏色值和alpha值的混合方法。

            示例程序演示了紋理階段混合狀態的使用極其效果,紋理階段混合狀態在紋理中具有非常重要的作用,示例代碼中設置紋理階段混合狀態的代碼如下:

            g_device->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
            g_device->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
            g_device->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);  
             
            紋理映射基礎(6)      摘要: Direct3D應用程序可以為任何圖元的任何頂點指定紋理坐標,通常使用的 u、v 紋理坐標的取值范圍是[0.0, 1.0],但是通過設置該范圍外的坐標值,可以得到紋理映射的特殊效果。

            雖然系統允許紋理坐標取[0.0, 1.0]范圍外的值,但硬件極限常常影響紋理坐標的取值范圍。當調用函數IDirect3DDevice9::GetDeviceCaps()得到設備性能后,一個渲染設備將此極限值放在結構D3DCAPS的成員MaxTextureRepeat中。這個成員的值表示該設備能允許的紋理坐標取值范圍。例如,該值是128,那么輸入的紋理坐標必須在范圍[-128, 128]中,使用這個范圍之外的紋理坐標是無效的。 
             
            紋理映射基礎(5)      摘要: 多級漸進紋理由一組分辨率逐漸降低的紋理序列組成,每一級紋理寬度和高度都是上一級紋理寬度和高度的一半。寬和高不一定相等,也就是說,這些紋理不一定都是正方形。

            Direct3D在紋理映射時,自動選擇一幅與物體大小最接近的紋理進行渲染。當物體離投影平面較遠時,Direct3D會選擇一張尺寸較小、分辨率較低的紋理進行渲染;當物體離投影平面較近時,Direct3D會選擇一張尺寸較大、分辨率較高的紋理進行渲染。Direct3D將紋理序列看成一條多級漸進紋理鏈。鏈頭處紋理的分辨率最高,下一級往后依次遞減,鏈尾處紋理的分辨率最低。  
             
            紋理映射基礎(4)      摘要: 最近點采樣是4種過濾方式中速度最快但效果最差的過濾方式。Direct3D計算得到的紋理元素地址通常是一個浮點數值,而非整數的紋理下標值,當使用最近點采樣時,Direct3D會復制與這個浮點值地址最接近的整數地址的紋理元素的顏色。

            設置最近點采樣的具體方法如下:調用IDirect3DDevice9::SetSamplerState(),可分別設置紋理過濾的放大過濾器和縮小過濾器。將第一個參數設置為紋理過濾器關聯的紋理層序號(0~7)。如果要設置放大過濾器,第二個參數設為D3DSAMP_MAGFILTER,如果要設置縮小過濾器,第二個參數設為D3DSAMP_MINFILTER。第三個參數可設為表示最近點采樣的枚舉常量D3DTEXF_POINT。下列代碼將紋理層0的紋理過濾方式設置為最近點采樣。  
             
            紋理映射基礎(3)      摘要: 當Direct3D渲染一個圖元時,必須將它通過坐標變換映射到二維屏幕上。如果圖元有紋理,Direct3D就需要用紋理來產生圖元的二維渲染圖像上每個像素的顏色。對于圖元在二維屏幕上圖像的每個像素來說,都必須從紋理中獲得一個顏色,從紋理中為每個像素獲取顏色的過程稱為紋理過濾(texture filtering)。

            大多數情況下,屏幕顯示的圖形大小與紋理貼圖大小不相同,換句話說,這個紋理將被映射到一個比它大或小的圖元的圖像上,這樣紋理常常會被放大或縮小。對紋理的放大會造成許多像素被映射到同一個紋理元素,圖形渲染結果會有色塊的感覺。縮小一個紋理意味著一個像素被映射到許多紋理元素,圖形看上去會閃爍失真或有鋸齒。為了解決這些問題,可以將相關紋理元素的顏色融合到一個像素上,如何將多個紋理元素的顏色融合到一個像素上取決于紋理過濾方式。  
             
            紋理映射基礎(2)      摘要: Direct3D紋理對象生成后,紋理對象指針指向的紋理資源指針還沒有被有效賦值,如果想要通過磁盤圖形文件載入紋理,那么必須將磁盤圖形文件的內容載入Direct3D紋理資源,因為不同的文件具有不同的格式,所以為了將文件內容載入到Direct3D紋理資源,就要了解各種圖形文件的格式,并針對不同的格式編寫不同的代碼將文件內容載入到紋理資源中。

            從磁盤文件生成并載入紋理相當繁瑣,它涉及到各種圖形文件的存儲格式。幸運的是,Direct3D擴展實用庫函數D3DXCreateTextureFromFile()為我們提供了從磁盤圖形文件創建紋理并載入紋理內容的快捷方法。  
             
            紋理映射基礎(1)      摘要: 為了使渲染的圖形看起來更真實,Direct3D提供了在物體表面繪制紋理的功能。一般說來,紋理是表示物體表面細節的一幅或幾幅二維圖形,也稱紋理貼圖(texture)。當把紋理按照特定的方式映射到物體表面的時候,能使物體看上去更加真實。當前流行的圖形系統中,紋理繪制已經成為一種必不可少的渲染方法。在理解紋理映射時,可以將紋理看作應用程序在物體表面的像素顏色。在真實世界中,紋理表示一個對象的顏色、圖案以及觸覺特征。但在Direct3D 中,紋理只表示對象表面的彩色圖案,它不能改變對象的幾何形式。更進一步說,它只是一種高強度計算行為。  

            posted on 2008-05-07 18:08 lovedday 閱讀(3816) 評論(0)  編輯 收藏 引用 所屬分類: ■ DirectX 9 Program

            公告

            導航

            統計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            日日狠狠久久偷偷色综合96蜜桃| 亚洲日韩中文无码久久| 久久99精品国产一区二区三区| 99久久综合狠狠综合久久止| 久久久久久综合一区中文字幕| 久久天天躁狠狠躁夜夜av浪潮| 国产99久久久国产精品小说| 久久精品国产亚洲AV无码麻豆| 日韩精品国产自在久久现线拍 | 999久久久免费精品国产| 国产精品成人99久久久久91gav| 久久久久久午夜精品| 亚洲国产精品婷婷久久| 国内精品伊人久久久影院| 99久久超碰中文字幕伊人| 色天使久久综合网天天| 国产精品青草久久久久婷婷 | 久久无码AV中文出轨人妻| 韩国免费A级毛片久久| 久久人人青草97香蕉| 成人国内精品久久久久影院VR| 精品无码久久久久国产动漫3d| 国产香蕉97碰碰久久人人| a高清免费毛片久久| 午夜精品久久久久久久久| 一本久久免费视频| 久久人人爽人爽人人爽av| 99久久久久| 国产成人精品久久亚洲| a高清免费毛片久久| 九九久久99综合一区二区| 久久精品国产99久久无毒不卡| 亚洲精品乱码久久久久久自慰| 色综合久久天天综线观看| 性欧美大战久久久久久久| 久久精品无码一区二区app| 久久av高潮av无码av喷吹| 9999国产精品欧美久久久久久| 麻豆精品久久精品色综合| 94久久国产乱子伦精品免费| 91超碰碰碰碰久久久久久综合|