2013-04-26 44 views
0

我使用ID3DXSprite繪製方法繪製一個256x256正方形紋理。當我以全屏模式運行程序時,一切正常。但是當我以窗口模式運行它時,紋理看起來不再像正方形,而是一個矩形(例如237x230)。ID3DXSprite - 正方形看起來像一個矩形

我不知道是什麼問題。爲什麼不是用他們的實際尺寸呈現圖形?

在此先感謝。

回答

2

也許,當您切換全屏模式時,您忘記了Reset()您的交換鏈。此方法需要填寫D3DPRESENT_PARAMETERS,您必須更改某些標誌:窗口,格式和最重要的 - 後臺緩衝區大小。錯誤的後臺緩衝區大小會導致圖像變形。

您可能想要閱讀關於該主題的this great tutorial

+0

非常感謝。我昨晚發現了什麼問題,但爲時已晚,所以我沒有在這裏發佈。問題出在當我以窗口模式運行程序時,我使用了窗口的寬度和高度,包括後臺緩衝區大小的邊界。所以後臺緩衝區比窗口大一些,並且它被縮放以匹配窗口的客戶端大小。但是當應用程序處於全屏模式時,不再有邊界,所以後臺緩衝區的大小與窗口的大小相匹配,並且不需要縮放。我不得不使用窗口的客戶端大小,沒有邊界。 – KooKoo 2013-04-27 08:15:38

相關問題