讓我們來聊聊Flash 11

"Let’s talk iPhone", 這是即將發佈的蘋果大會廣告語, 新版的iPhone5預計會在大會上發佈,差不多的時間Flash11正式版也會發布,so, Let's talk flash11.

新版的Flash11最讓人矚目的特性就是硬件3d加速,並提供一套基於actionscript3的3d api,這將是web game一個新的起點,未來3d webgame應該會成爲主流, adobe官方把新的3d技術叫做molehill, 它定位與高端圖形渲染, 在windows上基於dx9, mac/linux上基於ogl1.3, 移動設備上基於openGL ES2.

molehill是所謂真正意義的3d, 比之前flash10的2.5要高效很多,flash10採用的是基於矢量的三角形變化,沒有z-buffer,沒有硬件加速,所以一般同屏就能處理千八百個三角形; 而molehill則是完全基於本地3d api, 基於shader的可編程管線, 可以全高清的情況下,以60幀率,渲染上百萬個三角形, 這是官方的一個demo, 已經不低於客戶端3d引擎的效果了.

在新的渲染架構下, video frame和3d buffer不再基於display list, 而是基於texture, 這將允許直接渲染到顯卡內存裏, 沒有回讀導致的gpu暫停, 從而根本上提高硬件渲染效率, 準確的說3d渲染是在最底層的,2d渲染在其上層,如圖(就是遊戲的做法,底層是3d渲染場景,上層是2d渲染ui等)

Stage3D Model

當然如果有需求把3d渲染放到2d上面, molehill提供了一個方法把3d渲染結果畫到BitmapData裏,當然這可能需要video memory read back了,在不同機器上效率不同,我之前有多篇blog介紹這個問題,有興趣的朋友可以自行搜索.

ps:對於硬件不支持的機器, molehill自動採用軟件渲染, 並保留全部硬件支持的特性, 對於程序員完全透明, 即便完全軟件渲染, 也比之前flash10快10倍, 因爲據說這部分技術是使用的SwiftShader,人家專業做純軟件渲染.

ps:molehill完全不支持固定管線渲染, 必須使用可編程管線,與dx10保持看齊.

Shaders

ps:現在已經有不少基於flash11的3d引擎面試,其中不乏open source的,比如away3d, 據說adobe自己也在開發自有3d 引擎,幫助程序員快速搭建3d應用.

看到這些你是不是已經非常期待flash11的到來? 不管你期待與否 ,我是非常期待.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章