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 );
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サンプル
ぼこぼこ楽しい。

