Hi,
I sent 2 previous e-mails on the stereo problem encountered by us when using
Java3D. Below are snips of our code. We use an Nvidia Fx2000 card, we also
enabled the graphics card quadbuffer stereo option. Our environment is 3D where
3D objects sits ontop of a 2D map. We use a crystaleyes active stereo glasses
to view the stereo images. Wearing the glasses I notice that whenever I shift
my physical head either in the -X the map or the entire stereo image warps or
shifts in the +X direction vice versa. Has anyone encountered such problems
before? If you did how did you overcome the problem? I have attach some parts
of my code on how we set our stereo? Perhaps we have made some wrong settings,
I am not sure. Really hope that the experts could enlighten us.
One last question are there any other ways of creating active stereo views in
Java3D?
Steven
//create the view
this.platform = new ViewPlatform();
this.view = new View();
this.body = new PhysicalBody();
body.setLeftEyePosition(new Point3d(-0.005,0,0));
body.setRightEyePosition(new Point3d(0.005,0,0));
this.env = new PhysicalEnvironment();
this.view_group = new BranchGroup();
this.user_location = new TransformGroup();
user_location.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
user_location.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
location = new Transform3D();
location.setTranslation(new Vector3d(0.0,1,5.0));
user_location.setTransform(location);
user_location.addChild(platform);
Vector3d v = new Vector3d();
location.get(v);
System.out.println(v);
setupView();
BoundingSphere bounds = new BoundingSphere(new Point3d(0,0,0), 100.0);
}
public void setupView(){
view.setBackClipDistance(100.00);
view.setFrontClipDistance(0.01);
view.setPhysicalBody(body);
view.setPhysicalEnvironment(env);
view.attachViewPlatform(platform);
view.setWindowEyepointPolicy(View.RELATIVE_TO_WINDOW);
view.setProjectionPolicy(View.PERSPECTIVE_PROJECTION);
view.setWindowResizePolicy(View.VIRTUAL_WORLD);
view.setWindowMovementPolicy(View.PHYSICAL_WORLD);
view.setTransparencySortingPolicy(View.TRANSPARENCY_SORT_GEOMETRY);
view.setFieldOfView(3.14);
}