travisfw / FXyz

JavaFX 3D Visualization and Component Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FXyz3D

  • FXyz3D Core: Download

  • FXyz3D Client: Download

A JavaFX 3D Visualization and Component Library

Use of FXyz3D Core

With FXyz3D there are many different 3D custom shapes. The following sample makes use of SpringMesh to create a 3D mesh of a spring.

Sample

Create a gradle project, add the dependency:

dependencies {
    compile 'org.fxyz3d:fxyz3d:0.1.1'
}

and create a JavaFX Application class:

    @Override
    public void start(Stage primaryStage) throws Exception {
        PerspectiveCamera camera = new PerspectiveCamera(true);        
        camera.setNearClip(0.1);
        camera.setFarClip(10000.0);
        camera.setTranslateX(10);
        camera.setTranslateZ(-100);
        camera.setFieldOfView(20);
        
        CameraTransformer cameraTransform = new CameraTransformer();
        cameraTransform.getChildren().add(camera);
        cameraTransform.ry.setAngle(-30.0);
        cameraTransform.rx.setAngle(-15.0);
        
        SpringMesh spring = new SpringMesh(10, 2, 2, 8 * 2 * Math.PI, 200, 100, 0, 0);
        spring.setCullFace(CullFace.NONE);
        spring.setTextureModeVertices3D(1530, p -> p.f);
        
        Group group = new Group(cameraTransform, spring);
        
        Scene scene = new Scene(group, 600, 400, true, SceneAntialiasing.BALANCED);
        scene.setFill(Color.BISQUE);
        scene.setCamera(camera);
        
        primaryStage.setScene(scene);
        primaryStage.setTitle("FXyz3D Sample");
        primaryStage.show();
    }

Special Thanks go to ControlsFX for providing the FXSampler framework. http://fxexperience.com/controlsfx/ Our Sampler uses a heavily modified version, due to being 3D.

About

JavaFX 3D Visualization and Component Library

License:Other


Languages

Language:Java 100.0%Language:Shell 0.0%