# Papervision Reflection Problem

**URL:** https://forum.kirupa.com/t/papervision-reflection-problem/306606
**Category:** flash
**Created:** [March 18, 2010, 10:06am UTC](https://forum.kirupa.com/t/papervision-reflection-problem/306606 "2010-03-18T10:06:41Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Booknerd](https://avatars.discourse-cdn.com/v4/letter/b/51bf81/32.png) [@Booknerd](https://forum.kirupa.com/u/Booknerd)
#### Post date: [March 18, 2010, 10:06am UTC](https://forum.kirupa.com/t/papervision-reflection-problem/306606/1 "2010-03-18T10:06:41Z")

</div>

I just started learn papervision. I am trying to do a reflection map on the plane.  
The result is i can only see the model on stage, but i can’t see any reflection map on it.  
Is there anyone who can help?

The following is my codes

package {  
//-------------------------import Flash classes--------------------------------//  
import flash.display.Sprite;  
import flash.events.Event;  
import flash.display.Bitmap;  
import flash.display.BitmapData;  
import flash.display.MovieClip;  
import flash.filters.DisplacementMapFilter;  
import flash.filters.DisplacementMapFilterMode;  
import flash.filters.BitmapFilterQuality;  
import flash.filters.BlurFilter;  
//-------------------------import papervision classes--------------------------------//  
import org.papervision3d.cameras._;  
import org.papervision3d.scenes._;  
import org.papervision3d.view._;  
import org.papervision3d.render._;  
import org.papervision3d.view.BasicView;  
//------------------------------import objects------------------------------------//  
import org.papervision3d.materials.BitmapFileMaterial;  
import org.papervision3d.materials.MovieMaterial;  
import org.papervision3d.materials.ColorMaterial;  
import org.papervision3d.materials.WireframeMaterial;  
import org.papervision3d.objects.primitives.Cube;  
import org.papervision3d.objects.primitives.Plane;  
import org.papervision3d.materials.utils.MaterialsList;  
import org.papervision3d.core.proto.MaterialObject3D;  
import org.papervision3d.objects.parsers.Collada;  
import org.papervision3d.objects.parsers.DAE;  
import org.papervision3d.objects.DisplayObject3D;  
public class reflector1 extends BasicView  
{  
/_private var viewport:Viewport3D;  
private var camera:Camera3D;  
private var scene:Scene3D;_/  
private var obb:DisplayObject3D;  
//private var renderer:BasicRenderEngine;

private var box;  
private var test:DAE;  
private var cubeMat:BitmapFileMaterial;  
private var plane:Plane;  
private var movMat:MovieMaterial;  
public var reflector:PlaneReflection = new PlaneReflection(“reflex”, “add”);

public function reflector1()  
{  
viewport=new Viewport3D(0,0,true,false);  
addChild(viewport);

//camera=new Camera3D();

```
//scene=new Scene3D();

```

renderer=new BasicRenderEngine();  
initCube();

addEventListener(Event.ENTER\_FRAME, enterFrame);

}

private function initCube() : void  
{  
cubeMat=new BitmapFileMaterial(“maps/grass.jpg”);  
cubeMat.doubleSided=true;  
var matList:MaterialsList=new MaterialsList();  
matList.addMaterial(cubeMat,“Material\_\_2”);

test=new DAE();  
test.load(“test.DAE”,matList);  
test.scale=3;

obb=new DisplayObject3D();  
obb.addChild(test);  
movMat=new MovieMaterial(new tester(),false);  
movMat.animated=true;  
movMat.doubleSided=true;  
plane=new Plane(movMat,512,512,10,10);

var tester2z:BitmapData = new REFMAP(512,512);  
//var bmp:BitmapData = Bitmap(tester2z).bitmapData;

var m2:Sprite = new Sprite();  
m2.graphics.beginBitmapFill(tester2z);  
m2.graphics.drawRect(0, 0, 512, 512);  
m2.graphics.endFill();

//var dispMap:BitmapData=new BitmapData(512,512,true,0x808080);  
var dispMap:BitmapData = new BitmapData(m2.width, m2.height, false, 0);  
dispMap.draw(m2);  
var disp:DisplacementMapFilter = new DisplacementMapFilter(dispMap, null, 1, 2, 47, -47, DisplacementMapFilterMode.COLOR);

reflector = new PlaneReflection(“reflex”, “multiply”, 1, [disp]);  
reflector.addModel(test);  
plane.rotationX=90;  
plane.y=-200;  
test.y=-200;  
obb.addChild(plane);  
obb.rotationX=-30;  
scene.addChild(obb);

}

public function enterFrame(e:Event) : void  
{  
/_if(mouseIsDown)  
{  
box=test.getChildByName(“Box01”,true);  
box.rotationY++;  
}_/  
reflector.invalidateTargets();  
obb.rotationY++;  
singleRender();  
renderer.renderScene(scene,camera,viewport);  
reflector.render(camera, plane);

}

}  
}

I downloaded the PlaneReflection.as class file at [http://blog.zupko.info/?p=156](http://blog.zupko.info/?p=156).
