Вопрос

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

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

Это было полезно?

Решение

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

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

Не уверен, насколько работоспособным будет что-то подобное.

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

Кажется, большинство забывает, что JavaFX и Java3D поддерживают DirectX и OpenGL, используя лучший контекст для машины, на которой вы находитесь ... на самом деле, если вы работаете в Windows, он пытается загрузить DirectX, если он новее, чем ваш OpenGL версия.

Я никому не советую использовать Java3D или JavaFX, но если вы посмотрите на источник, вы увидите, как это делается.

GrepCode " хорошо подходит для поиска способов реализации "

Открыть JavaFX " Открыть проект JavaFX home " источник

  

Я должен отметить, что вы хотите посмотреть на пакет com.sun.prism .

Java3D " домашний проект Java3D " Источники

Я УЧИМСЯ занимаюсь разработкой, LOL , уже 20 лет. Профессионально около 8-ми возможных никогда не было вопроса, но как долго, и / или стоит ли это ... Таковы вопросы.

Удачи, мой друг!

  

Если вам нужна помощь, мне будет интересно создать упаковщик DirectX для Java, так что

     

ДАЙ МНЕ ШОУ!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top