Re: [程式] 怎麼用d3d讀取非2冪次的圖??

看板GameDesign (遊戲設計)作者 (別再咪我)時間18年前 (2006/06/01 14:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《totoma (我想當好人)》之銘言: : 每次用d3d在畫2d圖時都會變的有點模糊 : 好像說不是2的冪次的長寬就會自動去放大成2n : 那我要怎麼解決,好他可以讀任意圖形呢?? : 我試過全部合成一張大圖(512*512)在去剪出來 : 但是這樣太沒效率,除了圖要重做,總佔的記憶體好像也比較多 : 有沒有什麼好方法??? : 除了這問題,還有一個貼圖周圍會出現黑邊,我找過解決方法好像是UV內縮, : 但怎麼縮??? 這部份講起來也是蠻多解法 1.偷懶的解法就是 在loadTexture時 在需要填寬高的參數 預設通常是填0 你把它填入原圖的寬高 就可以正常顯示 但不建議使用 因為較舊的顯示卡是不支援 的 如果你只是要自己測試倒是可以用 2.類似你說的作法 但是不是直接用美工作 而是用程式建立大一級圖 例如512X512 然 後把原來的圖畫上去 如果你是用正交投影顯示需要換算出UV 如果是用sprite 可以 直接指定需要顯示的範圍 這方法像你說的 浪費記憶體 不過是挺容易的作法 3.在美術做圖的時候 請他做成2次方圖形 4.用切割的方式 將原圖等比例切割例如 32X32 或是依照原圖大小 按照比例來切割 256*256 256*128 128*64等等 然後自行寫演算法秀圖 這方法是最推薦的作法 不過相關演算法要自己思考一下 5.另外寫讀圖程式 作成自己的格式 然後lock surface 去blit 這部份是比較進階的 PS:個人不太建議再使用DDraw 將來要移轉到D3D 會產生許多相容性的問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.240.182.45
文章代碼(AID): #14VeR1dL (GameDesign)
文章代碼(AID): #14VeR1dL (GameDesign)