Pergunta

Existe uma maneira fácil de usar DirectX em Java? Em particular, APIs de vídeo do DirectX.

Eu sei que C # pode ser uma escolha mais natural, mas eu tenho minhas razões tortuosos para querer fazer algo tão perverso.

Foi útil?

Solução

Eu não sei sobre fácil, mas você pode sempre usar JNI para carregar as libs do DirectX e invocar os métodos.

Usando algo como Swig você poderia gerar automaticamente um monte de código.

Não sei como viável algo como isso seria embora.

Outras dicas

Parece haver um padrão API sobre como lidar com 3D dentro Java.

Ele provavelmente usa algum tipo de acelerar a tecnologia, pode ser ainda DirectX.

Mas eu não tenho certeza sobre o suporte de vídeo direto neste quadro.

I criar uma biblioteca usando BridJ ( https://bridj.googlecode.com ) que envoltório aulas DirectX, assim você pode usar quase o mesmo código de exemplos C ++.

Você pode encontrar a biblioteca no https://bitbucket.org/fourthskyinteractive/directx-for- java .

Por favor, deixe-me saber sobre os projetos que desenvolve.

Há um conjunto de ligações Direct3D para Java disponível em http://java-direct3d.sourceforge.net / mas parece que developement parou em 2006 com DirectX 9.

Caso contrário, não são vinculativas OpenGL para java chamado JOGL .

O pacote que você quer investigar é o Java Media Framework (JMF). O núcleo é puro Java, e per-plataforma "pacotes de desempenho" fornecer aceleração através de bibliotecas nativas. Atualmente ele suporta A captura / V e reprodução em uma ampla variedade de tipos de dados, bem como transmissão via RTP e RTSP.

JMF home page da Sun

SW / requisitos de HW

Minecraft é codificado em Java com LWJGL, mas Wrapper Renderer do Messias Andrew converte o OpenGL para DirectX usando uma versão modificada das bibliotecas LWJGL. Usando essas bibliotecas, você deve ser capaz de código na LWJGL e ter o jogo estar em execução DirectX.

Parece que a maioria está se esquecendo que o apoio JavaFX e Java3D tanto DirectX e OpenGL usando o melhor contexto para a máquina estiver em ... bem, na verdade, se você estiver em janelas ele tenta carregar o DirectX se ele é mais recente do que o seu OpenGL versão.

Eu não estou dizendo que todos possam usar Java3D ou JavaFX, mas se você olhar para a fonte você pode ver como ele é feito.

GrepCode "bom para olhar para como as coisas são implementadas"

Abrir JavaFX "Open JavaFX projeto de casa" fonte

Gostaria de salientar que você quer olhar para o pacote com.sun.prism.

Java3D "Java3D projeto de casa" fontes

Eu fui APRENDIZAGEM desenvolvimento, LOL , por 20 anos. Profissionalmente por cerca de 8 possível nunca foi a questão, mas por quanto tempo, e / ou vale a pena ... Essas são as perguntas.

Boa sorte meu amigo!

Se você precisar de alguma ajuda eu estaria interessado em criar um invólucro DirectX para java assim

Dê-me um SHOUT!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top