/* * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. */ import javafx.application.Application; import javafx.builders.SceneBuilder; import javafx.builders.StackPaneBuilder; import javafx.builders.StageBuilder; import javafx.scene.Group; import javafx.scene.PerspectiveCamera; import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.scene.transform.Rotate; import javafx.stage.Stage; /** * * @author Alexander Kouznetsov */ public class ImageView3DBug extends Application{ @Override public void start(Stage primaryStage) { Circle node = new Circle(30, Color.RED); node.setStroke(Color.BLACK); node.setSmooth(false); Scene scene = SceneBuilder.create() .fill(Color.TRANSPARENT) .width(100) .height(100) .root( StackPaneBuilder.create() .children(node) .build()) .build(); scene.getRoot().layout(); Object renderToImage = scene.renderToImage(null); Image sceneImage = Image.impl_fromPlatformImage(renderToImage); ImageView imageView = new ImageView(sceneImage); imageView.setX(20); imageView.setRotate(-10); imageView.setRotationAxis(Rotate.Y_AXIS); imageView.setSmooth(false); ImageView imageView2 = new ImageView(sceneImage); // imageView2.setRotate(-10); // imageView2.setRotationAxis(Rotate.Y_AXIS); imageView2.setSmooth(false); Group group = new Group(imageView, imageView2); group.setTranslateX(50); group.setTranslateY(50); group.setTranslateZ(-100); Stage stage2 = StageBuilder.create() // .x(100) .scene(SceneBuilder.create() .camera(new PerspectiveCamera()) .width(200).height(200) .depthBuffer(true) .root(group).build()) .build(); stage2.setVisible(true); // primaryStage.setScene(scene); // primaryStage.setVisible(true); } public static void main(String[] args) { System.setProperty("prism.depthtest", "false"); launch(args); } }