Papervision3d ShadedMaterialをつかってみる

ShadedMaterialを使用して、テクスチャを張った面にシェードを付ける練習です。
影をつけることに興味がでたので調べてみた。結構きれいにできることがわかった。

・FlatShader
・CellShader
・GouraudShader
・PhongShader

PointLight3Dで光源を創り、ShadedMaterialにGouraudShaderとBitmapDataを渡す感じ。

var light:PointLight3D = new PointLight3D();
var shader = new GouraudShader(light);
var mat = new ShadedMaterial( bitmapData, shader);//BitmapMaterial
var sphere = new Sphere(mat,300, 20,20);
_world.addChild( sphere );

GouraudShaderサンプル

PhongShaderをつかうとボコボコを表現できる。
こちらも光源を創りPhongShaderに凸凹用のBitmapDataを渡し、ShaderMaterialにPhongShaderと表示用BitmapDataを渡す。

var light:PointLight3D = new PointLight3D();
var phongShader = new PhongShader(light, 0xffffff, 0x333333, 0,  bumpMapData);//bumpMapData 凸凹をつけるための白黒画像
var mat = new ShadedMaterial( bitmapData, phongShader);//bitmapData 基の画像
var sphere = new Sphere(mat,300, 20,20);
_world.addChild( sphere );

PhongShaderサンプル
ぼこぼこ楽しい。