Title: BitmapFileMaterial example
BitmapFileMaterial example using BasicView [update improved quality + tiled material] – revision 677 – JPG by //oelia
- /**
- * v0.2 code by dehash.com 2008
- * Released as open source under the BSD License
- * http://www.opensource.org/licenses/bsd-license.php
- */
- package com.dehash.pv3d.examples.bitmaps
- {
- import org.papervision3d.objects.primitives.Plane;
- import org.papervision3d.view.BasicView;
- import org.papervision3d.materials.BitmapFileMaterial;
- import org.papervision3d.events.FileLoadEvent;
- import flash.events.Event;
- [SWF(width="800", height="600", backgroundColor="0xffffff")]
- public class BitmapFileMaterialDemo extends BasicView
- {
- private var plane:Plane;
- private var bitmapFileMaterial:BitmapFileMaterial;
- private var quality:uint = 8;
- public function BitmapFileMaterialDemo (viewportWidth:Number = 800, viewportHeight:Number = 600,
- scaleToStage:Boolean=true, interactive:Boolean=false, cameraType:String="CAMERA3D")
- {
- super(viewportWidth, viewportHeight, scaleToStage, interactive, cameraType);
- bitmapFileMaterial = new BitmapFileMaterial();
- bitmapFileMaterial.smooth = true;
- bitmapFileMaterial.tiled = true;
- bitmapFileMaterial.addEventListener(FileLoadEvent.LOAD_COMPLETE, handleBitmapLoaded,false, 0, true);
- bitmapFileMaterial.addEventListener(FileLoadEvent.LOAD_ERROR, handleFileLoadError,false, 0, true);
- bitmapFileMaterial.texture = "2732921665_2979e6f379.jpg";
- renderer.renderScene(scene, camera, viewport);
- this.startRendering();
- }
- protected override function onRenderTick(event:Event = null):void {
- camera.x = (stage.mouseX-(stage.stageWidth / 2))/2;
- camera.y = (stage.mouseY-(stage.stageHeight / 2))/2;
- renderer.renderScene(scene, camera, viewport)
- }
- private function handleBitmapLoaded(e:FileLoadEvent):void {
- var w:Number = e.currentTarget.bitmap.width;
- var h:Number = e.currentTarget.bitmap.height;
- plane = new Plane(bitmapFileMaterial, w*2, h*2, quality, quality);
- camera.target = plane;
- scene.addChild(plane);
- }
- private function handleFileLoadError(e:FileLoadEvent):void {
- trace('handleFileLoadError'+e);
- }
- }
- }