Re: [程式] 怎麼用d3d讀取非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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章
16
32
10
14