fc2ブログ

9ballsyndrome

Molehill APIって?

おくればせながらMolehillについて勉強。
http://blogs.adobe.com/flashplatform/2011/01/digging-more-into-the-molehill-apis.html


MolehillはFlashの3Dの描写(頂点等の計算)にGPUを使えるようになったFP11のAPIのコードネームのようなものか。
詳しいことはわからないけど、

It is important to remember, that the Molehill APIs do not use what is called a fixed function pipeline but a programmable pipeline only, which means that you will have to work with vertex and fragment shaders to display anything on screen. For this, you will be able to upload on the graphics card your shaders as pure low-level AGAL (“Adobe Graphics Assembly Language”) bytecode as a ByteArray. As a developer you have two ways to do this, write your shaders at the assembly level, which requires an advanced understanding of how shaders works or use a higher-level language like Pixel Bender 3D which will expose a more natural way to program your shaders and compile for you the appropriate AGAL bytecode.

 

 


重要なのは、Molehill APIが使うのは固定機能パイプラインと呼ばれるものではなく、プログラマブルパイプラインのみであり、何かをディスプレイに表示するには頂点シェーダとピクセルシェーダを扱わなくてはならないことを意味する。このため、グラフィックカードに純粋な低級言語であるAGAL(Adobe Graphics Assembly Language)バイトコードで書いたシェーダをByteArrayとして転送しなくてはならない。
これには二通りの方法があり、シェーダをアセンブリレベルで書く方法、これはシェーダがGPUでどのように動くかの高度な理解が必要だが。もしくは自然な形でシェーダをプログラムできるPixel Bender 3Dのような高級言語で書き、適切なAGALバイトコードに変換する方法だ。


って感じかな。


んー。シェーダが提供されてないのね。ここを自分で書かなきゃならないってのが大変なところであり、好きにできるため便利なところでもあるといったところなんだろうか。


アセンブリレベルで書くか、Pixel Bender 3Dなる言語で書いて変換できるのがcom.adobe.utils.AGALMiniAssemblerっぽいな。
もちろんシェーダ部分は各ライブラリが書いといてくれるんだよね??
この部分がライブラリごとの機能性能にかかわってくるのかな。

 

さて、早速使ってみる。
導入方法はこちらの方々の記事を参照した。

馬鹿全 "FlashDevelop + FlashPlayer11(Molehill) + Away3D 4.0 Alpha での遊び方"
ClockMaker.jp "Molehill を搭載した Flash Player 11 インキュベーターリリースが公開"

 

FP11インキュベーターリリースをブラウザに入れ、playerglobal.swcをパブリッシュに使用。
まずはMolehill API対応3Dエンジンのひとつ"Alternaiva3D 8.5.0"をさわってみよう。

 

 

スポンサーサイト



  1. 2011/06/23(木) 12:02:49|
  2. Molehill Stage3D
  3. | トラックバック:0
  4. | コメント:0
<<Alternativa3D 8.5.0 さわってみた1 | ホーム |

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://9ballsyndrome.blog.fc2.com/tb.php/1-c6e94a61
この記事にトラックバックする(FC2ブログユーザー)