ЦІЛЬОВА АУДИТОРІЯ
Ця програма була опублікована для розробників після проекту WebFX і є частиною демонстрацій проекту.
ДЛЯ НОВОЇ АУДИТОРІЇ
WebFX — це безкоштовне міжплатформне рішення з відкритим вихідним кодом, яке може націлюватися на 7 платформ (Web, Android, iOS, macOS, Linux, Windows і вбудовані пристрої, такі як Raspberry Pi) з однієї кодової бази Java.
Базові технології: OpenJFX, Gluon & GWT.
Наприклад, ви можете відвідати веб-версію цієї самої програми за адресою https://raytracer.webfx.dev
Незалежно від платформи, вихідний код програми абсолютно однаковий (перегляньте розділ ПОСИЛАННЯ нижче, щоб отримати доступ до вихідного коду цієї демонстрації).
Програма написана мовою Java і використовує JavaFX API для створення інтерфейсу користувача.
Інструментальний ланцюжок Gluon (побудований на основі GraalVM) використовується для компіляції коду Java додатка в нативну програму для всіх платформ, окрім Інтернету (тому це включає цю версію Android).
GWT використовується для компіляції веб-версії. Він транспілює код Java в оптимізований код JavaScript.
У результаті всі виконувані файли на всіх платформах пропонують оптимізовану продуктивність.
ПРО ЦЮ КОНКРЕТНУ ДЕМО
Ця демонстрація показує приклад програми, яка не блокує інтерфейс користувача, незважаючи на значне використання ЦП, і це на будь-якій платформі (навіть у Інтернеті).
Поки програма обчислює трасування променів, користувальницький інтерфейс все ще реактивний, ви навіть можете відтворити обчислену анімацію, поки вона продовжує обчислення у фоновому режимі.
Це досягається за допомогою WebFX Worker API, який перекладено на фактичні Web Workers для веб-платформи, і стандартних потоків Java для інших платформ.
ПОСИЛАННЯ
Вихідний код демонстрації: https://github.com/webfx-demos/webfx-demo-raytracer
Веб-сайт WebFX: https://webfx.dev
WebFX GitHub: https://github.com/webfx-project/webfx