Pregunta

¿Hay una manera fácil de usar DirectX en Java? En particular, las API de video de DirectX.

Sé que C # podría ser una opción más natural, pero tengo mis razones erróneas para querer hacer algo tan perverso.

¿Fue útil?

Solución

No sé si es fácil, pero siempre puedes usar JNI para cargar las librerías de DirectX e invocar los métodos.

Al usar algo como Swig , puedes generar automáticamente una gran cantidad de código.

No estoy seguro de cuán viable sería algo así.

Otros consejos

Parece que hay una API estándar sobre cómo tratar 3D en Java.

Probablemente utiliza algún tipo de tecnología de aceleración, incluso puede ser DirectX.

Pero no estoy seguro sobre el soporte de video directo en este marco.

Creo una biblioteca utilizando BridJ ( https://bridj.googlecode.com ) que envuelve las clases de DirectX, por lo que puede usar casi el mismo código que los ejemplos de C ++.

Puede encontrar la biblioteca en https://bitbucket.org/fourthskyinteractive/directx-for- java .

Por favor, avíseme sobre los proyectos que desarrolle.

Hay un conjunto de enlaces Direct3D para Java disponibles en http://java-direct3d.sourceforge.net / pero parece que el desarrollo se detuvo en 2006 con DirectX 9.

De lo contrario, hay un enlace OpenGL para java denominado JOGL .

El paquete que desea investigar es el Java Media Framework (JMF). El núcleo de la misma es Java puro y paquetes de rendimiento por plataforma, " Proporcionar aceleración a través de bibliotecas nativas. Actualmente admite la captura y reproducción A / V en un gran variedad de tipos de datos, así como transmisión a través de RTP y RTSP.

página de inicio de JMF de Sun

JMF Requisitos de SW / HW

Minecraft está codificado en Java con LWJGL, pero el Renderer Wrapper de Messiah Andrew convierte el OpenGL en DirectX utilizando una versión modificada de las bibliotecas LWJGL. Al usar estas bibliotecas, deberías poder codificar en LWJGL y hacer que el juego ejecute DirectX.

Parece que la mayoría está olvidando que JavaFX y Java3D son compatibles con DirectX y OpenGL usando el mejor contexto para la máquina en la que se encuentra ... bueno, en realidad, si está en Windows, intenta cargar DirectX si es más nuevo que su OpenGL. versión.

No le estoy diciendo a nadie que use Java3D o JavaFX, pero si miras la fuente puedes ver cómo se hace.

GrepCode " bueno para ver cómo se implementan las cosas "

Open JavaFX " Inicio de proyecto JavaFX abierto " fuente

  

Debo tener en cuenta que desea consultar el paquete com.sun.prism .

Java3D " Página de inicio del proyecto Java3D " fuentes

He estado APRENDIENDO en desarrollo, LOL , durante 20 años. Profesionalmente, durante aproximadamente 8 posibles nunca ha sido la pregunta, pero cuánto tiempo y / o vale la pena ... Esas son las preguntas.

¡Buena suerte mi amigo!

  

Si necesita ayuda, me gustaría crear un contenedor de DirectX para Java, por lo que

     

¡DÉME UN GRITO!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top