Fixed 3d tests

This commit is contained in:
Calum
2017-09-07 18:17:42 +12:00
parent 64811354e3
commit c39499cee7
3 changed files with 40 additions and 22 deletions
+40 -22
View File
@@ -1,13 +1,17 @@
package seng302.visualiser; package seng302.visualiser;
import com.interactivemesh.jfx.importer.stl.StlMeshImporter;
import javafx.animation.AnimationTimer;
import javafx.application.Application; import javafx.application.Application;
import javafx.geometry.Point3D; import javafx.geometry.Point3D;
import javafx.scene.Camera; import javafx.scene.Camera;
import javafx.scene.Group; import javafx.scene.Group;
import javafx.scene.PerspectiveCamera; import javafx.scene.PerspectiveCamera;
import javafx.scene.PointLight;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.scene.SceneAntialiasing; import javafx.scene.SceneAntialiasing;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.MeshView;
import javafx.scene.transform.Rotate; import javafx.scene.transform.Rotate;
import javafx.scene.transform.Scale; import javafx.scene.transform.Scale;
import javafx.scene.transform.Translate; import javafx.scene.transform.Translate;
@@ -35,34 +39,39 @@ public class test3d extends Application {
primaryStage.setScene(scene); primaryStage.setScene(scene);
primaryStage.show(); primaryStage.show();
// StlMeshImporter importer = new StlMeshImporter(); StlMeshImporter importer = new StlMeshImporter();
// importer.read(getClass().getResource("/meshes/boat_hull.stl")); importer.read(test3d.class.getResource("/meshes/high_poly_boat.stl").toString());
// MeshView boat = new MeshView(importer.getImport()); MeshView boat = new MeshView(importer.getImport());
// boat.setMaterial(new PhongMaterial(Color.BEIGE)); boat.setMaterial(new PhongMaterial(Color.GREENYELLOW));
//
// importer = new StlMeshImporter();
// importer.read(getClass().getResource("/meshes/boat_mast.stl").toString());
// MeshView mast = new MeshView(importer.getImport());
// mast.setMaterial(new PhongMaterial(Color.BEIGE));
//
// importer = new StlMeshImporter();
// importer.read(getClass().getResource("/meshes/boat_sail.stl").toString());
// MeshView sail = new MeshView(importer.getImport());
// sail.setMaterial(new PhongMaterial(Color.WHITE));
// gameObjects.getChildren().addAll(boat, mast, sail); importer = new StlMeshImporter();
importer.read(getClass().getResource("/meshes/boat-mast.stl").toString());
MeshView mast = new MeshView(importer.getImport());
mast.setMaterial(new PhongMaterial(Color.GREENYELLOW));
gameObjects.getTransforms().add(new Scale(40, 40,40)); importer = new StlMeshImporter();
gameObjects.getTransforms().add(new Translate(10, 10,0)); importer.read(getClass().getResource("/meshes/sail_centered.stl").toString());
MeshView sail = new MeshView(importer.getImport());
sail.setMaterial(new PhongMaterial(Color.LIGHTGREY));
gameObjects.getChildren().addAll(boat, mast, sail);
gameObjects.getTransforms().add(new Scale(25, 25,25));
gameObjects.getTransforms().add(new Translate(15, 20,0));
gameObjects.getTransforms().addAll( gameObjects.getTransforms().addAll(
new Rotate(90, new Point3D(0,0,1)), new Rotate(90, new Point3D(0,0,1)),
new Rotate(90, new Point3D(0, 1, 0)) new Rotate(90, new Point3D(0, 1, 0))
); );
PointLight light = new PointLight(); // PointLight light = new PointLight();
light.setLightOn(true); // light.setLightOn(true);
light.getTransforms().add(new Translate(10, 10, -50)); // light.getTransforms().add(new Translate(15, 20, 0));
root3D.getChildren().add(light); //
// PointLight light2 = new PointLight();
// light2.setLightOn(true);
// light2.getTransforms().add(new Translate(30, 40, 0));
// root3D.getChildren().addAll(light);
scene.setOnKeyPressed(event -> { scene.setOnKeyPressed(event -> {
switch (event.getCode()) { switch (event.getCode()) {
@@ -80,5 +89,14 @@ public class test3d extends Application {
break; break;
} }
}); });
AnimationTimer animationTimer = new AnimationTimer() {
@Override
public void handle(long now) {
sail.getTransforms().add(new Rotate(0.5, 0, -1.36653, 0, new Point3D(0, 0, 1)));
}
};
animationTimer.start();
} }
} }
Binary file not shown.
Binary file not shown.