2011-06-06 47 views
1

我在iPhone遊戲中使用了太多的水果和蔬菜圖片,所以如何製作這種圖片的紋理,因爲根據我讀到的OpenGL ES紋理中的每個圖像,我該怎麼做?如何紋理圖像?

我已經開發了6個iOS應用程序,但這是我的第一個遊戲,所以請以適當的方式引導我,以便我能夠明白。

+0

你是什麼意思太多,它是否佔用太多的內存,[UIImage imageNamed:]將注意不要爲你的包中退出的圖像重新分配內存。 – 2011-06-06 08:06:24

+0

@Grady,我在同一時間使用不同類型的圖像,意味着這些圖像將在iphone中從下側移動到上側,並且用戶將在特定的框中拖放圖像,你有我的想法嗎? – 2011-06-06 08:43:06

+0

所以我還是不明白這個問題。如果您問如何在OpenGL ES中進行紋理化,我建議您先閱讀OpenGL的工作原理。 – 2011-06-06 10:38:03

回答

1

您使用glTexImage2D將原始像素數據上傳到OpenGL以填充紋理。您可以使用Core Graphics,尤其是CGBitmapContextCreate來獲取原始像素數據,以獲取原始像素數據(或轉換爲原始像素數據)Core Graphics可以繪製的任何內容 - 對於您來說,這可能意味着一個CGImageRef,可以通過C API負載的PNG或JPG格式,或者僅使用[someUIImage CGImage]的結果。

Apple的GLSprite示例(您需要登錄,我不確定這些鏈接是否在外部工作,但在必要時在開發人員庫中執行搜索)可能是一個很好的起點。我並不是100%落後於類結構,但是如果您查看EAGLView.m,第272至305行,那麼代碼將從磁盤加載PNG,然後執行必要的步驟將其發佈到OpenGL,註釋。