BCanvas3DOffScreen(final BCanvas3D _init) { super(_init.getGraphicsConfiguration(), true); initDimensions(_init); _init.getView().addCanvas3D(this); }
public BUnivers(final BCanvas3D _canvas) { canvas_ = _canvas; locale_ = new Locale(this); final ViewPlatform camera = new ViewPlatform(); final BranchGroup viewGroup = new BranchGroup(); final TransformGroup viewTg = new TransformGroup(); viewTg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); viewTg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); viewTg.setCapability(Node.ALLOW_LOCAL_TO_VWORLD_READ); viewTg.addChild(camera); viewGroup.addChild(viewTg); final PhysicalBody body = new PhysicalBody(); final PhysicalEnvironment env = new PhysicalEnvironment(); final View view = new View(); view.setPhysicalBody(body); view.setPhysicalEnvironment(env); view.setBackClipDistance(100); view.setFrontClipDistance(.1); view.addCanvas3D(canvas_); view.attachViewPlatform(camera); transformU_ = viewTg; position_ = new Vector3d(); viewGroup.setCapability(BranchGroup.ALLOW_DETACH); locale_.addBranchGraph(viewGroup); }
@Override public void init(VCanvas3D canvas) { GraphicsConfigTemplate3D gct = new GraphicsConfigTemplate3D(); gct.setSceneAntialiasing(GraphicsConfigTemplate.PREFERRED); this.canvas = canvas; canvas.setDoubleBuffered(true); // 12.05.2015 define default size since offscreencanvas will be null // otherwise // see: https://java.net/jira/browse/JAVA3D-386 canvas.setSize(100, 100); canvas.getOffscreenCanvas3D().setDoubleBufferEnable(true); canvas.setResizeMode(JCanvas3D.RESIZE_IMMEDIATELY); offscreenCanvas = new VOffscreenCanvas3D( SimpleUniverse.getPreferredConfiguration()); universe = new SimpleUniverse(getCanvas().getOffscreenCanvas3D()); universe.getViewer().getView().addCanvas3D(offscreenCanvas); // offscreen rendering does not work with sceneantialiasing enabled! // universe.getViewer().getView().setSceneAntialiasingEnable(true); universe.getViewingPlatform().setNominalViewingTransform(); universe.getViewer().getView().setMinimumFrameCycleTime(0); universe.getViewer().getView().setFrontClipDistance(0.1); universe.getViewer().getView().setBackClipDistance(100); BranchGroup scene = createSceneGraph(); scene.compile(); universe.addBranchGraph(scene); }