星期一, 一月 05, 2009

iPhone Simulator 在 PPC 平台上執行 OpenGL ES 的顏色怪異問題


最近在寫 iPhone 上的 OpenGL 程式,不過雖然 Xcode 中就有提供 OpenGL 的樣版,但是因為對 OpenGL 不熟,看得不是很懂。

雖然後來自己改了裡面的程式碼,也畫出了東西,但是在 Simulator 中執行時整個就是怪,首先是顏色全部跑掉了,一般設定顏色的順序是 RGBA,但是在 Simulator 中顏色的順序居然變成了 GRAB,所以畫出來的顏色整個就是怪。

這感覺就很像是 byte-order 採用 little-endien 和 big-endien 所造成的問題,後來 Google 了一下,果然也有人遇到一模一樣的問題,據他所說,其他的 CocoaTouch 部份都可以正常運作,就只有 OpenGL 的部份會出錯。

我想這個出錯的原因應該是因為 OpenGL ES 裡面不能用 glBegin()/glEnd(),然後個別指定 vertex 資訊的這種用法,必須把 vertex 和 normal、color 等資料存成陣列,用 glDrawArray()/glDrawElement() 的方式一次丟給顯示晶片處理,而應該是 simulator 把陣列丟給顯示晶片時造成的 byte-order 問題。目前確定顏色會出問題,不知道 normal 和 vertex 陣列會不會也跟著出問題...

而 iPhone SDK on PPC 是不被官方所支援的平台,我看這個 bug 的修復應該是遙遙無期了...

標籤: ,

星期六, 一月 03, 2009

為何要支援 Mac 與 Linux?

今天看到一篇標題為 Why you should support Mac OS X and Linux?,真是一語道盡我對支援 Mac OS X 與 Linux 的看法,這些看法我之前也跟一些業主談過,但是卻沒有業主聽得進去,但是以後我就有 case 可以 support 我的看法了。

來看看 Lugaru 這個遊戲在各平台上的銷售比例:
你可以發現多支援 Mac OS X 和 Linux,你的銷售數字比單純支援 Windows 提升了大約 122%!這是多麼誇張的數字!各位業主,你們要提升銷售額 122% 要花多少心力?更重要的是,你的心力,講的更清楚些,你的錢!花下去了就確定能提升 122% 嗎?

我下面列出文章作者歸納出的五點原因,詳細內容就請自己去看吧。
  1. It’s good to be a big fish in a small pond (寧為雞首,毋為牛後)
  2. More platforms means more opportunities (更多的平台代表更多的機會)
  3. Vocal minorities (少數發聲)
  4. You can’t choose your evangelists (你無法選擇你的傳道者)
  5. You can’t choose your power users (你無法選擇你的主力客戶)
我想這篇文章會是我以後跟業主談話時的一大佐證。

標籤: