我正在爲iPhone製作一個簡單的2D遊戲。它基於CrashLanding。所以它基本上是一個背景紋理和幾個矩形紋理。在iPhone應用程序中出現奇怪的OpenGL ES行爲
我有這個奇怪的小圖形問題:一些小2d項目(可以假設只是矩形)四處移動得到這個閃爍的黑色小條在他們之上(背景紋理幾乎全白,所以小條是顯而易見的)。
我使用的紋理很小(〜1Kb)PNG。
有沒有其他人遇到過這個問題?這是一個常見的OpenGL問題嗎?
順便說一下,這在模擬器和實際設備上都會發生。
我正在爲iPhone製作一個簡單的2D遊戲。它基於CrashLanding。所以它基本上是一個背景紋理和幾個矩形紋理。在iPhone應用程序中出現奇怪的OpenGL ES行爲
我有這個奇怪的小圖形問題:一些小2d項目(可以假設只是矩形)四處移動得到這個閃爍的黑色小條在他們之上(背景紋理幾乎全白,所以小條是顯而易見的)。
我使用的紋理很小(〜1Kb)PNG。
有沒有其他人遇到過這個問題?這是一個常見的OpenGL問題嗎?
順便說一下,這在模擬器和實際設備上都會發生。
你有沒有像你的紋理中的小黑條吧?
我遇到了類似的問題,當我做錯了什麼。這裏有一個小的清單:
如果列表中的某些內容對您而言很模糊,那麼閱讀這些內容很好。
我也做了一個很好的猜測:我相信你沒有在任何方向上包裝你的紋理,並且動畫幀有點偏移,所以你的應用程序有一些錯誤的紋理座標/四邊形高度正在繪製。
我希望我的建議合理。我只有平常的opengl的經驗,而不是OpenGL ES,圖形管道已經被修剪,使它更加緊湊,更乾淨,更優雅。
由於這是一款2D遊戲,這些小矩形精靈是否包含在相同的紋理表單中?另一個可能的罪魁禍首可能是紋理過濾。
如果您試圖操縱紋理座標來繪製紋理的子區域,則可以檢查是否以大於1:1的比率繪製精靈。如果您啓用了線性紋理過濾(而不是最近),則如果您嘗試將sprite超出1:1的範圍,OpenGL可能會從相鄰sprite中獲取一些像素。
如果是這種情況,可以嘗試在精靈之間的紋理表中放置1像素緩衝區。
您是否在模擬器和實際設備上看到問題? – 2008-10-13 18:02:18