Возможно ли DirectX на Java?

Есть ли простой способ использовать DirectX в Java? В частности, API-интерфейсы DirectX.

Я знаю, что С# может быть более естественным выбором, но у меня есть свои сообразительные причины для желания сделать что-то настолько извращенное.

Ответ 1

Я не знаю, как легко, но вы всегда можете использовать JNI для загрузки библиотек DirectX и вызывать методы.

Используя что-то вроде Swig, вы можете автоматически генерировать много кода.

Не знаю, насколько это возможно.

Ответ 2

Кажется, существует стандартный API о работе с 3D внутри Java.

Вероятно, он использует какую-то ускоряющую технологию, может быть даже DirectX.

Но я не уверен в прямой поддержке видео в этой структуре.

Ответ 3

Я создаю библиотеку с помощью BridJ (https://bridj.googlecode.com), которые переносят классы DirectX, поэтому вы можете использовать почти тот же код, что и примеры на С++.

Вы можете найти библиотеку в https://bitbucket.org/fourthskyinteractive/directx-for-java.

Пожалуйста, дайте мне знать о проектах, которые вы разрабатываете.

Ответ 4

Существует набор привязок Direct3D для Java, доступных в http://java-direct3d.sourceforge.net/, но похоже, что разработка прекратилась в 2006 году с DirectX 9.

В противном случае существуют ссылки на OpenGL для java, называемые JOGL.

Ответ 5

Пакет, который вы хотите исследовать, - это Java Media Framework (JMF). Ядром этого является чистая Java, а "пакеты производительности" для каждой платформы обеспечивают ускорение через собственные библиотеки. В настоящее время он поддерживает захват и воспроизведение A/V в широкий спектр типов данных, а также потоковую передачу через RTP и RTSP.

Sun Домашняя страница JMF

JMF Требования к SW/HW

Ответ 6

Minecraft кодируется в Java с помощью LWJGL, но Messiah Andrew Renderer Wrapper преобразует OpenGL в DirectX с использованием модифицированной версии библиотек LWJGL. Используя эти библиотеки, вы должны иметь возможность кодировать в LWJGL и запускать игру DirectX.

Ответ 7

Похоже, что большинство из них забывают, что 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, чтобы

ДАЙТЕ МЕНЯ ШОТ!