ЦЕЛЕВАЯ АУДИТОРИЯ
Это приложение было опубликовано для разработчиков, следящих за проектом WebFX, и является частью демонстрации проекта.
ДЛЯ НОВОЙ АУДИТОРИИ
WebFX — это бесплатное кроссплатформенное решение с открытым исходным кодом, которое может работать с 7 платформами (Web, Android, iOS, macOS, Linux, Windows и встраиваться, например, Raspberry Pi) из единой базы кода Java.
Базовые технологии: OpenJFX, Gluon и GWT.
Например, вы можете посетить веб-версию этого же приложения по адресу https://raytracer.webfx.dev.
Независимо от платформы, исходный код приложения одинаков (см. раздел ССЫЛКИ ниже, чтобы получить доступ к исходному коду этой демонстрации).
Приложение написано на Java и использует API JavaFX для создания пользовательского интерфейса.
Цепочка инструментов 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