如果您只是在单元格外观之后,而没有别的,CellMaterial是您的选择。 CellShader的用途是将其与ShadedMaterial中的BitmapMaterial混合使用。
假设你应用了GaraudMaterial并且喜欢外观,但是你也希望在那里有纹理。不能用GaraudMaterial做到这一点,但如果你有一个BitmapMaterial和一个GaraudShader,你可以创建一个ShadedMaterial来使用这两个。
例如
var bitmapMaterial:BitmapMaterial = new BitmapMaterial(yourBitmapData);
var shader:PhongShader = new PhongShader(yourLight,0xFFFFFF, 0x000000,0,yourBumpMap);
//this uses the two above
var shadedMaterial:ShadedMaterial = new ShadedMaterial(bitmapMaterial,shader);
//apply it to something
var sphere:Sphere = new Sphere(shadedMaterial,250,10,10);
欲了解更多解释结算Jim Foley's post。
至于Ambient Occlusion,最便宜的方法是将效果提升到bake the shadows。你用你选择的3D编辑器(3dsmax,maya,blender等)来做到这一点,它基本上意味着光/阴影被渲染到纹理中。
有一些工作要做到这一点dynamically,但没有检查是否制成最新版本的Papervision。