0
我使用ID3DXSprite繪製方法繪製一個256x256正方形紋理。當我以全屏模式運行程序時,一切正常。但是當我以窗口模式運行它時,紋理看起來不再像正方形,而是一個矩形(例如237x230)。ID3DXSprite - 正方形看起來像一個矩形
我不知道是什麼問題。爲什麼不是用他們的實際尺寸呈現圖形?
在此先感謝。
我使用ID3DXSprite繪製方法繪製一個256x256正方形紋理。當我以全屏模式運行程序時,一切正常。但是當我以窗口模式運行它時,紋理看起來不再像正方形,而是一個矩形(例如237x230)。ID3DXSprite - 正方形看起來像一個矩形
我不知道是什麼問題。爲什麼不是用他們的實際尺寸呈現圖形?
在此先感謝。
也許,當您切換全屏模式時,您忘記了Reset()
您的交換鏈。此方法需要填寫D3DPRESENT_PARAMETERS
,您必須更改某些標誌:窗口,格式和最重要的 - 後臺緩衝區大小。錯誤的後臺緩衝區大小會導致圖像變形。
您可能想要閱讀關於該主題的this great tutorial。
非常感謝。我昨晚發現了什麼問題,但爲時已晚,所以我沒有在這裏發佈。問題出在當我以窗口模式運行程序時,我使用了窗口的寬度和高度,包括後臺緩衝區大小的邊界。所以後臺緩衝區比窗口大一些,並且它被縮放以匹配窗口的客戶端大小。但是當應用程序處於全屏模式時,不再有邊界,所以後臺緩衝區的大小與窗口的大小相匹配,並且不需要縮放。我不得不使用窗口的客戶端大小,沒有邊界。 – KooKoo 2013-04-27 08:15:38