diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java index 02f9e749..89af73db 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java @@ -8,8 +8,11 @@ import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import javafx.collections.transformation.SortedList; import javafx.fxml.FXML; +import javafx.scene.AmbientLight; +import javafx.scene.PointLight; import javafx.scene.chart.LineChart; import javafx.scene.control.*; +import javafx.scene.effect.Light; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.scene.layout.GridPane; @@ -205,10 +208,10 @@ public class RaceController extends Controller { //viewSubjects.add(new Subject3D(new MeshView(new Plane3D(50, 50, 1, 1)))); - SeaSurface sea = new SeaSurface(4000, 200, 250, 210); - SkyBox skyBox = new SkyBox(500, 200, 250, 0, 210); + SeaSurface sea = new SeaSurface(750, 200, 250, 0, 210); + SkyBox skyBox = new SkyBox(750, 200, 250, 0, 210); + viewSubjects.add(sea.getSurface()); viewSubjects.addAll(skyBox.getSkyBoxPlanes()); - //viewSubjects.add(sea.getSurface()); Boundary3D boundary3D = new Boundary3D(visualiserRace.getVisualiserRaceState().getRaceDataSource().getBoundary(), gpsConverter); for (Subject3D subject3D: boundary3D.getBoundaryNodes()){ diff --git a/racevisionGame/src/main/java/visualiser/layout/SeaSurface.java b/racevisionGame/src/main/java/visualiser/layout/SeaSurface.java index 7008ce3f..67ef6a19 100644 --- a/racevisionGame/src/main/java/visualiser/layout/SeaSurface.java +++ b/racevisionGame/src/main/java/visualiser/layout/SeaSurface.java @@ -26,10 +26,11 @@ public class SeaSurface { * @param x offset that the sea should be set at position-wise * @param z offset that the sea should be set at position-wise */ - public SeaSurface(int size, double freq, double x, double z){ + public SeaSurface(int size, double freq, double x, double y, double z){ noiseArray = PerlinNoiseGenerator.createNoise(size, freq); createSurface(); surface.setZ(z); + surface.setY(y); surface.setX(x); } diff --git a/racevisionGame/src/main/java/visualiser/layout/SkyBox.java b/racevisionGame/src/main/java/visualiser/layout/SkyBox.java index cbb21160..189c75dc 100644 --- a/racevisionGame/src/main/java/visualiser/layout/SkyBox.java +++ b/racevisionGame/src/main/java/visualiser/layout/SkyBox.java @@ -33,11 +33,12 @@ public class SkyBox { } private void makeSkyBox() { - addTop(); + //addTop(); addFront(); addBack(); addLeft(); addRight(); + addSeaOverlay(); } private void addTop() { @@ -142,6 +143,11 @@ public class SkyBox { return surface; } + private void addSeaOverlay() { + SeaSurface seaSurface = new SeaSurface(size * 3, 200, x, y - size/4 + 1, z); + skyBoxPlanes.add(seaSurface.getSurface()); + } + /** * Create texture for uv mapping diff --git a/racevisionGame/src/main/java/visualiser/layout/View3D.java b/racevisionGame/src/main/java/visualiser/layout/View3D.java index 9f080747..4024d4b2 100644 --- a/racevisionGame/src/main/java/visualiser/layout/View3D.java +++ b/racevisionGame/src/main/java/visualiser/layout/View3D.java @@ -198,7 +198,7 @@ public class View3D extends Pane { target.getHeading().angleProperty().addListener(pivotHeading); this.setDistance(THIRD_PERSON_LIMIT); - this.setPitch(20); + this.setPitch(15); } public void setNearClip(double nearClip) {