簡體   English   中英

強制視網膜iPad使用非視網膜圖像

[英]Force a retina iPad to use non-retina images

我正在使用OpenGL創建一個應用...

我有一台視網膜iPad,並且正在使用存儲@ 2x圖像的紋理。 當我的應用程序啟動時,將創建OpenGL幀緩沖區,並查詢其大小為1536x2048-到目前為止非常好。

我也有非視網膜iPad顯示屏(768x1024)的紋理,但是我沒有非視網膜iPad。 我想強制我的視網膜iPad使用非視網膜圖形(即,使其使用scale == 1.0)。 因此,我希望它創建一個768x1024 OpenGL幀緩沖區。 問題在於,它始終創建1536x2048幀緩沖區,並且比例始終為2.0。

有沒有一種方法可以強迫它使用1.0的比例,並創建一個較小的幀緩沖區? 該應用程序的基本iOS版本為8.0,但由於iOS8.0仍可在iPad2上運行,因此我也想測試該分辨率。

我嘗試使用UILaunchImages,但這似乎不起作用? 過去,當為非視網膜屏幕編寫應用程序時,視網膜設備用於縮放較低的分辨率以適合高分辨率的屏幕,這就是我想要的-至少這樣我就可以測試...。

UILaunchImages是否是嘗試使iOS認為只有低分辨率圖形可用的正確方法?

IIRC,只需使用@ 2x資源(啟動畫面,圖標等)來向iOS發出信號,表明您正在運行支持Retina的應用程序。 我認為從那以后,Apple已添加了NSHighResolutionCapable鍵,您可以嘗試在plist中將其設置為false。 因此,請嘗試從構建中刪除所有@ 2x資源,並將該鍵設置為false。

另一種方法是更改​​glViewPort和/或Projection矩陣,以將邏輯分辨率縮放為1024x768。 我有相反的問題,我需要將非視網膜圖像縮放到視網膜支持比例。 我在堆棧中使用縮放矩陣來解決此問題。

問我如何混合和匹配視網膜和非視網膜圖像!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM