package
{
// Add the FurMaterial class
import FurMaterial;
import flash.display.Sprite;
import flash.events.Event;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
[SWF(width="800", height="600", backgroundColor="0x000000")]
public class fur extends Sprite
{
[Embed(source="material.png")] private var mt:Class;
public var texture:Bitmap = new mt() as Bitmap;
public var viewport:Viewport3D;
public var renderer:BasicRenderEngine;
public var scene:Scene3D;
public var camera:Camera3D;
// Create the FurMaterial variable
private var material:FurMaterial;
public function fur()
{
viewport = new Viewport3D(stage.stageWidth, stage.stageHeight, false, true);
addChild(viewport);
renderer = new BasicRenderEngine();
scene = new Scene3D();
camera = new Camera3D();
var mat:BitmapMaterial = new BitmapMaterial(texture.bitmapData, true);
item = new Sphere(mat, 400, 25, 25);
scene.addChild(item);
// Generate the fur effect and connect it to your viewport
material = new furMaterial(stage.stageWidth, stage.stageHeight);
material.vp = viewport;
material.amount = 0.4;
material.density = 10;
material.length = 1.1;
material.softness = 1.2;
material.shine = 0.3;
material.blur = 20;
material.smooth = true;
addChild(material);
addEventListener(Event.ENTER_FRAME, render);
}
private function render(e:Event):void
{
renderer.renderScene(scene, camera, viewport);
// Create new noise mask
material.newNoise();
// Render fur
material.render();
}
}
}