• <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游戲編程相關鏈接

            搜索

            最新評論

            亚洲乱码中文字幕久久孕妇黑人| 久久久精品免费国产四虎| 久久影视综合亚洲| 性高朝久久久久久久久久| 国产精品乱码久久久久久软件 | 久久AV高潮AV无码AV| 五月丁香综合激情六月久久| 久久电影网2021| 久久天天躁狠狠躁夜夜avapp| 国产亚洲婷婷香蕉久久精品| 久久综合精品国产一区二区三区| 色狠狠久久AV五月综合| 欧美日韩精品久久久免费观看| 久久婷婷五月综合国产尤物app| 国产精品久久久久久久午夜片| 亚洲欧美日韩中文久久| 一本久久a久久精品综合香蕉| 久久国产免费观看精品3| 亚洲一区精品伊人久久伊人| 国产精品青草久久久久婷婷| 东方aⅴ免费观看久久av| 国产亚洲成人久久| 99久久成人国产精品免费| 精品国产乱码久久久久久人妻| 91久久成人免费| 青青草原综合久久大伊人精品| 中文字幕人妻色偷偷久久| 天天综合久久一二三区| 久久精品国产一区二区电影| 欧美久久精品一级c片片| 大伊人青草狠狠久久| 午夜不卡久久精品无码免费| 久久精品国产2020| 中文无码久久精品| 久久强奷乱码老熟女网站| 国产精品99久久久精品无码 | 精品多毛少妇人妻AV免费久久| 久久精品国产亚洲一区二区三区 | 久久久久久噜噜精品免费直播 | 亚洲另类欧美综合久久图片区| 国产精品欧美亚洲韩国日本久久 |