Need help with the plane primitive in papervision3d

37 views
Skip to first unread message

bismillah rawthar

unread,
Feb 20, 2013, 8:03:57 AM2/20/13
to flartool...@googlegroups.com
package {
import flash.display.Sprite;
import flash.utils.ByteArray;
import flash.media.Video;
import flash.media.Camera;
import flash.display.BitmapData;
import flash.events.Event;
import org.libspark.flartoolkit.core.param.FLARParam;
import org.libspark.flartoolkit.core.FLARCode;
import org.libspark.flartoolkit.core.raster.rgb.FLARRgbRaster_BitmapData;
import org.libspark.flartoolkit.detector.FLARSingleMarkerDetector;
import org.libspark.flartoolkit.support.pv3d.FLARCamera3D;
import org.libspark.flartoolkit.support.pv3d.FLARBaseNode;
import org.papervision3d.view.Viewport3D;
import org.libspark.flartoolkit.core.transmat.FLARTransMatResult;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;

import org.papervision3d.objects.primitives.Plane;

[SWF(width="640", height="480", frameRate="30", backgroundColor="#FFFFFF")]
public class PlaneTest extends Sprite {
[Embed(source="Data/camera_para.dat", mimeType="application/octet-stream")]
private var camera_para:Class;
[Embed(source="Data/2mmgoogle.pat", mimeType="application/octet-stream")]
private var marker_pattern1:Class;
private var flar_param:FLARParam;
private var flar_code1:FLARCode;
private var video:Video;
private var camera:Camera;
private var bitmapdata:BitmapData;
private var raster:FLARRgbRaster_BitmapData;
private var detector1:FLARSingleMarkerDetector;
private var scene:Scene3D;
private var flar_camera:FLARCamera3D;
private var container1:FLARBaseNode;
private var viewport:Viewport3D;
private var bre:BasicRenderEngine;
private var transmatresult:FLARTransMatResult;
private var plane:Plane;
public function PlaneTest() {
setupFLAR();
setupCam();
setupBitmapData();
setupPV3D();
addEventListener(Event.ENTER_FRAME, loop);
}
private function setupFLAR():void {
trace("in setuFLAR");
flar_param = new FLARParam();
flar_param.loadARParam(new camera_para() as ByteArray);
flar_code1 = new FLARCode(16, 16);
flar_code1.loadARPatt(new marker_pattern1());
}
private function setupCam():void {
trace("in setupCam");
video = new Video(640, 480);
camera=Camera.getCamera();
camera.setMode(640, 480, 30);
video.attachCamera(camera);
addChild(video);
}
private function setupBitmapData():void {
trace("in setupBitmapData");
bitmapdata = new BitmapData(640, 480);
bitmapdata.draw(video);
raster = new FLARRgbRaster_BitmapData(bitmapdata);
detector1 = new FLARSingleMarkerDetector(flar_param, flar_code1, 80);
}
private function setupPV3D():void {
trace("in setupPV3D");
scene = new Scene3D();
flar_camera = new FLARCamera3D(flar_param);
container1 = new FLARBaseNode();
viewport = new Viewport3D(640, 480);
bre = new BasicRenderEngine();
transmatresult = new FLARTransMatResult();
plane = new Plane(null, 50, 50, 6, 6);
container1.addChild(plane);

scene.addChild(container1);
addChild(viewport);
}

private function loop(e:Event):void {
trace("in loop");
bitmapdata.draw(video);
try {
if(detector1.detectMarkerLite(raster, 80) && detector1.getConfidence()>0.5) {
trace("detector1");
plane.visible=true;
detector1.getTransformMatrix(transmatresult);
container1.setTransformMatrix(transmatresult);
bre.renderScene(scene, flar_camera, viewport);
}
}
catch(e:Error) {}
}
}
}

Daniel Ferenc Szak

unread,
Feb 21, 2013, 2:34:49 AM2/21/13
to flartool...@googlegroups.com
Have You tried using a valid material for the plane instead of null?

plane = new Plane(null, 50, 50, 6, 6);

Cheers,
daniel.

--
 
---
You received this message because you are subscribed to the Google Groups "FLARToolKit userz" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flartoolkit-us...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

bismillah rawthar

unread,
Feb 21, 2013, 6:04:20 AM2/21/13
to flartool...@googlegroups.com
I tried applying other materials but the plane is displayed only for once and then just disappears.

Plane seems to be working fine with Camera3D. Other primitives are working fine with FLARCamera3D. Its just the plane that's not working with FLARCamera3D.
Reply all
Reply to author
Forward
0 new messages