Made and textured a skybox, still needs to be fixed on two sides. #story[1261]
This commit is contained in:
@@ -39,14 +39,14 @@ public class Constants {
|
|||||||
* The race pre-start time, in milliseconds. 3 minutes (30 seconds for development).
|
* The race pre-start time, in milliseconds. 3 minutes (30 seconds for development).
|
||||||
*/
|
*/
|
||||||
// public static final long RacePreStartTime = 30 * 1000;
|
// public static final long RacePreStartTime = 30 * 1000;
|
||||||
public static final long RacePreStartTime = 30 * 1000;
|
public static final long RacePreStartTime = 6 * 1000;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The race preparatory time, in milliseconds. 1 minute.
|
* The race preparatory time, in milliseconds. 1 minute.
|
||||||
*/
|
*/
|
||||||
// public static final long RacePreparatoryTime = 60 * 1000;
|
// public static final long RacePreparatoryTime = 60 * 1000;
|
||||||
public static final long RacePreparatoryTime = 60 * 1000;
|
public static final long RacePreparatoryTime = 6 * 1000;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -206,9 +206,9 @@ public class RaceController extends Controller {
|
|||||||
|
|
||||||
|
|
||||||
SeaSurface sea = new SeaSurface(4000, 200, 250, 210);
|
SeaSurface sea = new SeaSurface(4000, 200, 250, 210);
|
||||||
SkyBox skybox = new SkyBox(4000, 200, 250, 0, 210);
|
SkyBox skyBox = new SkyBox(500, 200, 250, 0, 210);
|
||||||
//viewSubjects.addAll(skybox.getSkyBoxPlanes());
|
viewSubjects.addAll(skyBox.getSkyBoxPlanes());
|
||||||
viewSubjects.add(sea.getSurface());
|
//viewSubjects.add(sea.getSurface());
|
||||||
|
|
||||||
Boundary3D boundary3D = new Boundary3D(visualiserRace.getVisualiserRaceState().getRaceDataSource().getBoundary(), gpsConverter);
|
Boundary3D boundary3D = new Boundary3D(visualiserRace.getVisualiserRaceState().getRaceDataSource().getBoundary(), gpsConverter);
|
||||||
for (Subject3D subject3D: boundary3D.getBoundaryNodes()){
|
for (Subject3D subject3D: boundary3D.getBoundaryNodes()){
|
||||||
|
|||||||
@@ -47,6 +47,8 @@ public class SeaSurface {
|
|||||||
MeshView seaSurface = new MeshView(seaPlane);
|
MeshView seaSurface = new MeshView(seaPlane);
|
||||||
// Box seaSurface = new Box(noiseArray.length, 0.1, noiseArray.length);
|
// Box seaSurface = new Box(noiseArray.length, 0.1, noiseArray.length);
|
||||||
seaSurface.setMaterial(material);
|
seaSurface.setMaterial(material);
|
||||||
|
seaSurface.setMouseTransparent(true);
|
||||||
|
seaSurface.toFront();
|
||||||
//seaSurface.setRotationAxis(new Point3D(1, 0, 0));
|
//seaSurface.setRotationAxis(new Point3D(1, 0, 0));
|
||||||
//seaSurface.setRotate(90);
|
//seaSurface.setRotate(90);
|
||||||
|
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ public class SkyBox {
|
|||||||
private double freq;
|
private double freq;
|
||||||
private List<Subject3D> skyBoxPlanes = new ArrayList<>();
|
private List<Subject3D> skyBoxPlanes = new ArrayList<>();
|
||||||
|
|
||||||
public SkyBox(int size, double freq, double x, double y, double z) {
|
public SkyBox(int edgeLength, double freq, double x, double y, double z) {
|
||||||
this.size = size;
|
this.size = edgeLength;
|
||||||
this.x = x;
|
this.x = x;
|
||||||
this.y = y;
|
this.y = y;
|
||||||
this.z = z;
|
this.z = z;
|
||||||
@@ -33,64 +33,26 @@ public class SkyBox {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void makeSkyBox() {
|
private void makeSkyBox() {
|
||||||
//addTop();
|
addTop();
|
||||||
//addFront();
|
addFront();
|
||||||
// addBack();
|
addBack();
|
||||||
addLeft();
|
addLeft();
|
||||||
// addRight();
|
addRight();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addTop() {
|
private void addTop() {
|
||||||
MeshView surface = makeSurface();
|
MeshView surface = makeSurface(new Image(getClass().getClassLoader().getResourceAsStream("images/skybox/skyTop.png")));
|
||||||
|
|
||||||
|
surface.setTranslateX(x);
|
||||||
|
surface.setTranslateY(y - size);
|
||||||
|
surface.setTranslateZ(z);
|
||||||
|
|
||||||
Subject3D top = new Subject3D(surface);
|
Subject3D top = new Subject3D(surface);
|
||||||
top.setX(x);
|
|
||||||
top.setY(y);
|
|
||||||
top.setZ(z);
|
|
||||||
skyBoxPlanes.add(top);
|
skyBoxPlanes.add(top);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addLeft() {
|
private void addLeft() {
|
||||||
MeshView surface = makeSurface();
|
MeshView surface = makeSurface(new Image(getClass().getClassLoader().getResourceAsStream("images/skybox/skyLeft.png")));
|
||||||
|
|
||||||
surface.setTranslateX(size/2);
|
|
||||||
surface.setTranslateY(size/2);
|
|
||||||
surface.setRotationAxis(new Point3D(0, 1, 0));
|
|
||||||
surface.setRotate(90);
|
|
||||||
surface.setTranslateX(-size/2);
|
|
||||||
surface.setTranslateY(-size/2);
|
|
||||||
|
|
||||||
surface.setTranslateX(x);
|
|
||||||
surface.setTranslateY(y);
|
|
||||||
surface.setTranslateZ(z);
|
|
||||||
|
|
||||||
|
|
||||||
Subject3D left = new Subject3D(surface);
|
|
||||||
skyBoxPlanes.add(left);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addBack() {
|
|
||||||
MeshView surface = makeSurface();
|
|
||||||
|
|
||||||
Subject3D back = new Subject3D(surface);
|
|
||||||
back.setX(x);
|
|
||||||
back.setY(y);
|
|
||||||
back.setZ(z + size);
|
|
||||||
skyBoxPlanes.add(back);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addFront() {
|
|
||||||
MeshView surface = makeSurface();
|
|
||||||
|
|
||||||
Subject3D back = new Subject3D(surface);
|
|
||||||
back.setX(x);
|
|
||||||
back.setY(y);
|
|
||||||
back.setZ(z);
|
|
||||||
skyBoxPlanes.add(back);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addRight() {
|
|
||||||
MeshView surface = makeSurface();
|
|
||||||
|
|
||||||
surface.setTranslateX(size/2);
|
surface.setTranslateX(size/2);
|
||||||
surface.setTranslateY(size/2);
|
surface.setTranslateY(size/2);
|
||||||
@@ -100,21 +62,78 @@ public class SkyBox {
|
|||||||
surface.setTranslateY(-size/2);
|
surface.setTranslateY(-size/2);
|
||||||
|
|
||||||
surface.setTranslateX(x);
|
surface.setTranslateX(x);
|
||||||
surface.setTranslateY(y);
|
surface.setTranslateY(y - size/2);
|
||||||
surface.setTranslateZ(z);
|
surface.setTranslateZ(z + size/2);
|
||||||
|
|
||||||
|
|
||||||
Subject3D left = new Subject3D(surface);
|
Subject3D left = new Subject3D(surface);
|
||||||
skyBoxPlanes.add(left);
|
skyBoxPlanes.add(left);
|
||||||
}
|
}
|
||||||
|
|
||||||
private MeshView makeSurface() {
|
private void addRight() {
|
||||||
Image diffuseMap = new Image(getClass().getClassLoader().getResourceAsStream("images/SailIcon.png"));
|
MeshView surface = makeSurface(new Image(getClass().getClassLoader().getResourceAsStream("images/skybox/skyRight.png")));
|
||||||
|
|
||||||
|
surface.setTranslateX(size/2);
|
||||||
|
surface.setTranslateY(size/2);
|
||||||
|
surface.setRotationAxis(new Point3D(1, 0, 0));
|
||||||
|
surface.setRotate(-90);
|
||||||
|
surface.setTranslateX(-size/2);
|
||||||
|
surface.setTranslateY(-size/2);
|
||||||
|
|
||||||
|
surface.setScaleX(-1);
|
||||||
|
surface.setScaleZ(-1);
|
||||||
|
|
||||||
|
surface.setTranslateX(x);
|
||||||
|
surface.setTranslateY(y - size/2);
|
||||||
|
surface.setTranslateZ(z - size/2);
|
||||||
|
|
||||||
|
|
||||||
|
Subject3D right = new Subject3D(surface);
|
||||||
|
skyBoxPlanes.add(right);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addBack() {
|
||||||
|
MeshView surface = makeSurface(new Image(getClass().getClassLoader().getResourceAsStream("images/skybox/skyBack.png")));
|
||||||
|
|
||||||
|
surface.setTranslateX(size/2);
|
||||||
|
surface.setTranslateY(size/2);
|
||||||
|
surface.setRotationAxis(new Point3D(0, 0, 1));
|
||||||
|
surface.setRotate(90);
|
||||||
|
surface.setTranslateX(-size/2);
|
||||||
|
surface.setTranslateY(-size/2);
|
||||||
|
|
||||||
|
surface.setTranslateX(x - size/2);
|
||||||
|
surface.setTranslateY(y - size/2);
|
||||||
|
surface.setTranslateZ(z);
|
||||||
|
|
||||||
|
Subject3D back = new Subject3D(surface);
|
||||||
|
skyBoxPlanes.add(back);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addFront() {
|
||||||
|
MeshView surface = makeSurface(new Image(getClass().getClassLoader().getResourceAsStream("images/skybox/skyFront.png")));
|
||||||
|
|
||||||
|
surface.setTranslateX(size/2);
|
||||||
|
surface.setTranslateY(size/2);
|
||||||
|
surface.setRotationAxis(new Point3D(0, 0, 1));
|
||||||
|
surface.setRotate(-90);
|
||||||
|
surface.setTranslateX(-size/2);
|
||||||
|
surface.setTranslateY(-size/2);
|
||||||
|
|
||||||
|
surface.setTranslateX(x + size/2);
|
||||||
|
surface.setTranslateY(y - size/2);
|
||||||
|
surface.setTranslateZ(z);
|
||||||
|
|
||||||
|
Subject3D front = new Subject3D(surface);
|
||||||
|
skyBoxPlanes.add(front);
|
||||||
|
}
|
||||||
|
|
||||||
|
private MeshView makeSurface(Image diffuseMap) {
|
||||||
|
|
||||||
PhongMaterial material = new PhongMaterial();
|
PhongMaterial material = new PhongMaterial();
|
||||||
material.setDiffuseColor(Color.BLUE);
|
//material.setDiffuseColor(Color.BLUE);
|
||||||
//material.setDiffuseMap(diffuseMap);
|
material.setDiffuseMap(diffuseMap);
|
||||||
material.setSpecularColor(Color.WHITE);
|
//material.setSpecularColor(Color.WHITE);
|
||||||
|
|
||||||
Plane3D plane = new Plane3D(size, size, 10, 10);
|
Plane3D plane = new Plane3D(size, size, 10, 10);
|
||||||
MeshView surface = new MeshView(plane);
|
MeshView surface = new MeshView(plane);
|
||||||
@@ -197,3 +216,4 @@ public class SkyBox {
|
|||||||
return skyBoxPlanes;
|
return skyBoxPlanes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 78 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 83 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 85 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 99 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
Reference in New Issue
Block a user