2016-02-24 3 views
1

Ok,JOGL - Swing - JavaFX

У меня есть рабочее приложение JOGL. Я использую в нем множество функций OpenGL, включая Textures, VBO, Ray-Picking и т. Д. Мне нравится работать с OpenGL напрямую и не хочу использовать какие-либо другие библиотеки 3D-графики.

То, что я хочу достичь в два раза:

  1. Я хочу, чтобы иметь возможность вставлять это приложение JOGL в окне подмножества большего окна пользовательского интерфейса. Таким образом, рядом с окном JOGL будет просмотрщик фотографий, текстовое поле и прокручиваемый список.

  2. Я разрабатываю это приложение для работы в Windows 10, с несколькими сенсорными аппаратными средствами.

То, что я нашел до сих пор:

  1. Свинг инструментарий Java является единственным способом, который я смог встроить окно JOGL. Тем не менее, Свинг старый и устаревший.

  2. Включение многократного касания в качели может быть выполнено, но для этого требуется много настраиваемого распознавания жестов. Это прекрасно, но, возможно, существуют варианты, которые не изобретают велосипед.

  3. JavaFX выглядит великолепно, и я бы хотел использовать его, но я не вижу простого способа сопряжения его с JOGL.

Есть ли у вас какие-либо предложения? Кто-нибудь делал это раньше?

+1

Я не знаю, соответствует ли это вашей 1-й складке, но вы попробовали ['newt'] (http://jogamp.org/jogl/doc/NEWT-Overview.html)? – elect

+1

@elect NEWT поддерживает мультитач только на некоторых платформах под Android. – gouessej

+0

Хмммм. Пойдем посмотреть на это. Никогда не слышал о NEWT. Кажется хорошим вариантом для производительности. В настоящее время я использую Swing's GLJPanel – Fra

ответ

2

Вы можете интегрировать JOGL в приложение JavaFX с помощью SwingNode. https://docs.oracle.com/javase/8/javafx/api/javafx/embed/swing/SwingNode.html Противоположность (интеграция некоторых JavaFX в приложение Swing) также возможна, но я бы не рекомендовал ее.

Выполнение интеграции JOGL таким образом не будет таким же эффективным, как родное окно OpenGL, но для многих приложений его будет достаточно.

+0

Это самый тривиальный подход. Я советую вам посмотреть этот отчет об ошибке: https://jogamp.org/bugzilla/show_bug.cgi?id=607 Я попытался подвести итог всем нашим попыткам поддерживать некоторую совместимость между OpenJFX/JavaFX и JOGL. Есть некоторые тонкие вещи, которые следует учитывать при упаковке приложения, использующего их, особенно если вы не используете Java 1.9. – gouessej

+0

@mipa - Я, я начал изучать это. Похоже, что если вы используете Swing или JavaFX, вы не получите производительность, как родной OpenGL. Оба имеют некоторые уровни абстракции. Прямо сейчас я использую GLJPanel, который довольно быстр. Я буду исследовать больше и вернусь сюда. – Fra

Смежные вопросы