2013-05-28 103 views
3

當撥打texSubImage2D時,我似乎正在獲取位於中央位置的三星Galaxy S3/Galaxy Note 2和位於三星Galaxy S2上的左上角的位圖。Android texSubImage2D - 在不同的設備上有不同的行爲嗎?

它讓我完全的紋理靠不住的S3/Galaxy Note的2

有人可以證實確實是有這個方法是如何抵消了位圖這種差異,在這些設備之間?

如何確保texSubImage2D在所有設備上的一致性?

+2

該功能至少*應該*跨設備保持一致。因此,查看您的實際代碼以及您可能做錯了什麼(如果有的話)可能會更有幫助。 –

+0

@Christian Rau,你是否在Galaxy S2和S3上獲得了這種方法的相同行爲? – Navigateur

+0

我對任何事情都沒有任何行爲。 –

回答

3

texSubImage2D的行爲一致,我猜測你正在從資源中加載紋理,與S2(hdpi)相比,它們在note 2/S3(都是xhdpi設備)上放大,因此可能會使用固定大小的紋理一個區別。

+0

但是這不會發生在S4上,儘管它是一個xhdpi設備。我沒有從資源中加載紋理,我通過'Canvas'的'draw ...'方法直接將它們繪製到'Bitmap',然後通過'GLUtils.texSubImage2D'將它上傳到GPU。 – Navigateur

+0

S4是xxhdpi設備(所以也存在密度差異),然後發佈一些代碼(首先,你如何創建你的位圖,維度是硬編碼等)。我可以向你保證,glTexSubImage2D能正常工作,所以問題在別的地方。 – arcone1

+0

我不是在說直接調用'glTexSubImage2D',而是'GLUtils.texSubImage2D'。您是否使用我描述的方式在S2和S3上測試了這種方法?我創建每個位圖上傳通過'Bitmap.createBitmap(寬度,高度,Bitmap.Config.ARGB_8888)',然後通過'新的畫布(位圖).draw ...繪製到它的方法 - 繪圖顯示罰款所有的情況下,當我調用'GLUtils.texSubImage2D'時,只有偏移量是不同的(在S2和S4的左​​上角位置,而在S3的中心位置)。 – Navigateur

相關問題