Есть ли простой способ использовать DirectX в Java? В частности, API-интерфейсы DirectX.
Я знаю, что С# может быть более естественным выбором, но у меня есть свои сообразительные причины для желания сделать что-то настолько извращенное.
Есть ли простой способ использовать DirectX в Java? В частности, API-интерфейсы DirectX.
Я знаю, что С# может быть более естественным выбором, но у меня есть свои сообразительные причины для желания сделать что-то настолько извращенное.
Я не знаю, как легко, но вы всегда можете использовать JNI для загрузки библиотек DirectX и вызывать методы.
Используя что-то вроде Swig, вы можете автоматически генерировать много кода.
Не знаю, насколько это возможно.
Кажется, существует стандартный API о работе с 3D внутри Java.
Вероятно, он использует какую-то ускоряющую технологию, может быть даже DirectX.
Но я не уверен в прямой поддержке видео в этой структуре.
Я создаю библиотеку с помощью BridJ (https://bridj.googlecode.com), которые переносят классы DirectX, поэтому вы можете использовать почти тот же код, что и примеры на С++.
Вы можете найти библиотеку в https://bitbucket.org/fourthskyinteractive/directx-for-java.
Пожалуйста, дайте мне знать о проектах, которые вы разрабатываете.
Существует набор привязок Direct3D для Java, доступных в http://java-direct3d.sourceforge.net/, но похоже, что разработка прекратилась в 2006 году с DirectX 9.
В противном случае существуют ссылки на OpenGL для java, называемые JOGL.
Пакет, который вы хотите исследовать, - это Java Media Framework (JMF). Ядром этого является чистая Java, а "пакеты производительности" для каждой платформы обеспечивают ускорение через собственные библиотеки. В настоящее время он поддерживает захват и воспроизведение A/V в широкий спектр типов данных, а также потоковую передачу через RTP и RTSP.
Minecraft кодируется в Java с помощью LWJGL, но Messiah Andrew Renderer Wrapper преобразует OpenGL в DirectX с использованием модифицированной версии библиотек LWJGL. Используя эти библиотеки, вы должны иметь возможность кодировать в LWJGL и запускать игру DirectX.
Похоже, что большинство из них забывают, что JavaFX и Java3D поддерживают как DirectX, так и OpenGL, используя лучший контекст для машины, на которой вы находитесь... ну на самом деле, если вы работаете в Windows, он пытается загрузить DirectX, если он новее, чем ваш OpenGL версия.
Я не говорю никому использовать Java3D или JavaFX, но если вы посмотрите на источник, вы увидите, как это делается.
GrepCode "полезно для поиска того, как все реализовано"
Открыть JavaFX "Открытый проект проекта JavaFX" source
Я должен отметить, что вы хотите посмотреть на пакет
com.sun.prism
.
Java3D "Главная страница проекта Java3D" sources
Я развивался LEARNING, LOL, в течение 20 лет. Профессионально около 8 возможных никогда не было вопросом, но как долго и/или стоит ли это... Это вопросы.
Удачи моему другу!
Если вам нужна помощь, мне было бы интересно создать оболочку DirectX для java, чтобы
ДАЙТЕ МЕНЯ ШОТ!