是的,OpenGL ES 2.0可以很好地處理骨骼動畫的頂點蒙皮。 OpenGL ES 1.1使用了一個固定的函數管道,沒有着色器,所以舊版API很難做到這一點,但2.0增加了對着色器的支持。所有的運輸iOS設備(包括iPhone 3G S和更新的設備,包括iPad)都支持OpenGL ES 2.0,以及幾乎所有的Android設備(我只能找到一些非常低端的手機)。 Windows Phone 7似乎不支持OpenGL ES,但我相信BlackBerry。
如果您對此感興趣,我強烈建議您閱讀Philip Rideout的書「iPhone 3D Programming」。雖然標題中有「iPhone」,但他在書中幾乎所有的代碼都使用了通用的C++,所以它應該很好地轉換到其他平臺,並且應該很容易理解。他甚至在「優化」一章中提供了一段代碼,用於在OpenGL ES 2.0甚至1.1上執行頂點蒙皮。您可以獲取書here的示例代碼,包括此外觀的演示。
C++是supported on iOS through Objective-C++,您可以在Objective-C中設置特定於平臺的UI元素,然後在C++中執行所有後端和渲染邏輯。再次,菲利普在他的書中做了這個,你可以在他的源代碼示例應用程序中看到他如何構造它。 Imagination Technologies的人員還在他們的PowerVR SDK中設置了一些與平臺無關的腳手架,這些腳手架被一些人用來快速獲得在移動設備上的3D渲染和運行。在這個SDK中還有一些關於從OpenGL移植到OpenGL ES的優秀文檔,以及在這些GPU上執行各種效果。我曾經聽說過一些人通過在CPU上執行轉換(在iOS上可以使用Accelerate框架完成)來獲得稍微更好的小頂點集合的性能,但是我會想象頂點着色器會更快更大的幾何。我在移動設備中使用的PowerVR GPU比您想象的要強大得多,特別是iPad 2中的新GPU。
您需要使用Xcode IDE, GCC或LLVM編譯器來定位iOS設備,但我相信Android在這方面有更多的選擇。
太廣泛了。你可以非常輕鬆地查閱這些細節,例如iPad和OpenGL ES以及主流移動平臺使用的語言/編譯器。 – YXD 2011-05-21 09:26:20