2012-06-06 104 views
1

將C++與SDL用於圖形,我想知道全屏使用情況。我在調用SDL_SetVideoMode時使用SDL_FULLSCREEN標誌可以很好地使其顯示全屏,但如果選擇的分辨率低於系統的分辨率,則所有內容都有一個黑色邊框。我怎樣才能讓圖像拉伸到真正的全屏?SDL中的真實全屏

+1

這是您的顯示器或圖形驅動程序的屬性,而不是您的應用程序。 –

+0

但是其他全屏應用程序實際上是全屏顯示; SDL爲什麼不同? – akroy

+0

SDL Doc說:「SDL將嘗試使用全屏模式,如果無法更改硬件分辨率(無論出於何種原因),將使用下一個更高的分辨率,並將顯示窗口置於黑色背景中。所以,也許你的卡不支持它,或者如果你使用它,也許是OGL驅動程序。 嘗試枚舉所有支持的顯示模式,並確保您嘗試使用的顯示模式有效。 – Odinn

回答

1

嘗試將SDL_SWSURFACE標誌添加到SDL_SetVideoMode調用。

您正在使用哪種操作系統?

+0

我正在使用SDL_SWSURFACE | SDL_FULLSCREEN,雖然SDL_SWSURFACE被定義爲0,所以它實際上並沒有做任何其他事情,除了做自己的筆記之外。 我使用的是Ubuntu,但它在Windows 7上是virtualboxed(我的網絡不能在Linux上工作,除非我通過Windows對其進行封裝)。我不確定這個問題是否由於我奇怪的設置。其他人都有SDL_FULLSCREEN嗎?對於奇怪的設置,我很完美,只要它能在普通的用戶機器上正常工作。 – akroy

+1

那麼SDL_HWSURFACE呢?雖然,虛擬盒子有一些有趣的技巧。您是否嘗試過在VirtualBox本身中激活全屏模式,然後重新啓動,並且當VM從一開始就以全屏方式備份時,請嘗試運行您的應用程序。 –

+0

嗯,我試着用硬件和SWSURFACE重新啓動後運行它,但沒有骰子。鑑於這裏的每個人都表示適當的全屏支持功能,我假設這是我的virtualbox設置中的一個扭結,並且有希望不表示任何錯誤的SDL設置。 – akroy