2017年11月6日 星期一

JavaFX 3D - System Requirements

JavaFX 8新增3D功能,與之前JavaFX 2的模擬3D不大一樣,例如新增Shape3D抽象類別,繼承自Shape3D抽象類別的3D物件包括Box, Cylinder, MeshView, Sphere等類別,均為真正的3D物件

欲執行JavaFX 3D,首先作業系統與瀏覽器須符合JDK 8 Certified System Configurations,可參考此連結,須注意的是JavaFX 8已不支援Windows XP作業系統,若是Windows 7則需SP1以上此外,系統顯示卡的驅動程式可能也需要更新方可正常執行

判斷系統是否支援JavaFX 3D可使用Platform.isSupported()方法判斷,其參數為ConditionalFeature.SCENE3D,請參考以下程式
// 判斷系統是否支援JavaFX 3D
if (Platform.isSupported(ConditionalFeature.SCENE3D)) {
  PhongMaterial phongmaterial = new PhongMaterial();
  phongmaterial.setSpecularColor(Color.ORANGE);
  phongmaterial.setDiffuseColor(Color.RED);

  Box box = new Box(400, 400, 400);
  box.setMaterial(phongmaterial);

  Group group = new Group();
  group.getChildren().add(box);

  Scene scene = new Scene(group, 500, 500);

  primaryStage.setTitle("Box 3D");
  primaryStage.setScene(scene);
  primaryStage.show();
}
else {
  System.out.println("System can't support Scene 3D.");
  System.exit(0);
}
【參考資料】

[1] 黃嘉輝,深入研究JavaFX 2。
[2] 黃嘉輝,JavaFX遊戲程式設計。
[3] Java Official Web Site:http://www.oracle.com/technetwork/java/index.html
[4] JavaFX:http://www.oracle.com/technetwork/java/javafx
[5] JavaFX 8.0 API Specification.
[6] Java Platform, Standard Edition 8 API Specification.
[7] JDK 8 Certified System Configurations

© Chia-Hui Huang

沒有留言:

張貼留言