note.x

[Papervision3D2.0] BitmapViewportMaterial

次はマテリアルをサラっと。
Interactive〜とか、Precise〜とかの機能別派生クラスは全部無くなって、プロパティ等で設定するように変更されて随分スッキリした。目玉はPoitLight3Dを絡めたshader系のマテリアルなんだろうけど、バグが多いのが困りもの。追加されたもの以外は1.7から変わって無いと思う。あまりキチンと検証してないけど。

shader系については、formerさんのこのエントリと、このエントリが素晴らしく有益。

マテリアルを端から全部検証する気力が今のとこ無いので、地味に面白い新マテリアル「BitmapViewportMaterial」を試してみた。

e_viewportmaterial.jpg

viewportMaterialTest.swf(要:FlashPlayer9)※重いです

BitmapViewport3Dっていう、Viewport3D派生の「ビューポートの状態をビットマップ化」するクラスが生成したビットマップをそのままマテリアルにしちまおうというのが、BitmapViewportMaterial。

var bitmapView:BitmapViewport3D = new BitmapViewport3D();
var viewMat:BitmapViewportMaterial = new BitmapViewportMaterial(bitmapView);
var obj_Plane:Plane = new Plane(viewMat, 4096, 3072, 4, 4 );
addChild(obj_Plane);

とかいう定義をしておいて、
ループ内で

renderer.renderScene(scene,camera,bitmapView);

で、レンダリングすればマテリアルに反映されると。

上のデモは2つのカメラを配置して、顔のアップ用カメラの視界をBitmapViewport3Dに出力した。「3D空間内を撮影」なんていう機能の実装に使えそう。


Trackback URL : http://blog.r3c7.net/as3-software-rendering/144/trackback/

COMMENTS

  1. Cristi Vrabete - 2008.01.31 1:00:13

    Also great…

    Do you have an email address I could write you at?
    I have some technical questions and I can’t get a word here :)

    ;)

Leave a Reply