Внутри JavaFX может использовать OpenGL как конвейер рендеринга, поэтому для предотвращения конфликтов требуется некоторое внимание к интеграции между ними.
OpenGLNode в JavaFX
Ричард Баир, JavaFX руководитель группы размещены на openjfx development mailing list:
Одна вещь, которую я хочу видеть сделано (например) для 8 обновлении иметь OpenGLNode или NativeSurfaceNode или что-то в этом направлении, так что, если вы делаете свой собственный D3D/OpenGL, вы можете отправить эти исходные команды на графическую карту, но все же у вас есть ваш узел, составленный на графике сцены.
Так что в будущем выпуске релиза JavaFX может быть включен OpenGLNode. Такая функция, вероятно, не увидит включения в общую версию доступности JavaFX до следующего выпуска функции JavaFX после первоначальной версии Java 8 (моя догадка заключается в том, что это будет примерно в сентябре 2014 года).
третья партия OpenGL/JavaFX интеграции
Вам не нужно ждать так долго, чтобы начать интеграцию JavaFX и OpenGL. Весь необходимый исходный код для запуска реализации открыт в OpenJFX repository, поэтому вы можете попытаться создать пользовательскую интеграцию этого кода с библиотекой, такой как lwjgl или jogl.
Этот ответ будет устаревшим, поскольку разработчики начнут выполнять интеграцию JavaFX с существующими оболочками Java для OpenGL apis. Некоторые разработчики уже начали такую работу - запустите поисковый поиск lwjgl javafx
или jogl javafx
, чтобы узнать о текущих проектах интеграции и их статусе.
Простейшая интеграция, вероятно, иметь третью библиотеку партии оказывать выключенный экранный буфер затем передать пиксели из буфера в JavaFX WritableImage или Canvas как требуется, чтобы получить OpenGL визуализации графики в композитах графа сцены JavaFX.
JavaFX 3D API Альтернативный
JavaFX имеет свой собственный легкий 3D API, который обеспечивает способность к композитному Фонг затененной 3d модели в граф сцены JavaFX. JavaFX 3D api не будет предоставлять всю мощь полной интеграции OpenGL api, однако использование JavaFX 3D api относительно просто. Описание, с примерами кода 3D features in Java 8 is on the open-jfx wiki.
Интерактивная сетка обеспечивает бесплатную 3D model importer for JavaFX, что позволяет очень просто переносить сложные тенистые и текстурированные 3D-модели в граф сцены JavaFX.
В openjfx repository есть 3D Viewer project, который вы можете использовать для создания основы для предлагаемого 3D-редактора на основе JavaFX.
JavaScript-движок nashorn имеет переключатель, который позволяет вам использовать use JavaFX and its 3D features from JavaScript, поэтому вы можете использовать альтернативные языки jvm для доступа к функциям JavaFX 3D, если хотите.
В Интернете мало примеров, но здесь можно увидеть реализацию: http://www.java-gaming.org/topics/lwjgl-javafx-integration/27801/view.html – Appleshell
Вы можете использовать это проект в качестве базы: https://github.com/Spasi/LWJGL-FX –