關於Ray tracer (WebFX demo)
一個簡單的光線追踪器應用程序來演示 WebFX
目標聽眾
此應用程序已針對 WebFX 項目之後的開發人員發布,並且是項目演示的一部分。
對於新觀眾
WebFX 是一個免費的開源跨平台解決方案,可以從單個 Java 代碼庫針對 7 個平台(Web、Android、iOS、macOS、Linux、Windows 和 Raspberry Pi 等嵌入式平台)。
底層技術:OpenJFX、Gluon 和 GWT。
例如,您可以在 https://raytracer.webfx.dev 訪問同一應用程序的網絡版本
無論平台如何,應用程序源代碼都是完全相同的(請參閱下面的鏈接部分以訪問此演示的源代碼)。
該應用程序是用 Java 編寫的,並使用 JavaFX API 構建用戶界面。
Gluon 工具鏈(建立在 GraalVM 之上)用於將應用程序 Java 代碼編譯為適用於除 Web 之外的所有平台(因此包括此 Android 版本)的本機應用程序。
GWT 用於編譯Web 版本。它將 Java 代碼轉換為優化的 JavaScript 代碼。
因此,所有平台中的所有可執行文件都提供了優化的性能。
關於這個特別的演示
此演示展示了一個應用程序示例,該應用程序在 CPU 使用率很高的情況下不會阻塞 UI,並且可以在任何平台(甚至在 Web 上)上運行。
當應用程序正在計算光線追踪時,UI 仍然是反應式的,您甚至可以播放到目前為止計算的動畫,同時它在後台繼續計算。
這是通過使用 WebFX Worker API 實現的,該 API 被轉換為 Web 平台的實際 Web Workers,以及其他平台的標準 Java 線程。
鏈接
演示源碼:https://github.com/webfx-demos/webfx-demo-raytracer
WebFX 網站:https://webfx.dev
WebFX GitHub: https://github.com/webfx-project/webfx