2009-05-03 23 views
10

¿Existe alguna manera fácil de usar DirectX en Java? En particular, las API de video de DirectX.¿Es posible DirectX en Java?

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

Respuesta

3

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

Utilizando algo como Swig puede generar automáticamente gran parte del código.

No estoy seguro de qué tan viable sería algo así.

2

Parece haber un standard API sobre tratar con 3D dentro de Java.

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

Pero no estoy seguro acerca del soporte directo de video en este marco.

+0

Creo Java 3D es alimentado por OpenGL –

+2

Es compatible tanto con OpenGL y DirectX: https://j3d-core.dev.java.net/j3d1_5_2/RELEASE-NOTES.html – McDowell

+0

Aún sin embargo, que sólo es 3D y estaba principalmente interesado en la API de video. – izb

1

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

De lo contrario, no son vinculantes OpenGL para Java llamados JOGL.

+0

Lo sentimos, pero fue la API de video que me interesó, no la API 3D. – izb

0

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

de Sun JMF home page

JMF SW/HW requirements

+0

Desafortunadamente hay algunas cosas que DirectVideo puede hacer que JMF no puede, lo cual es un poco molesto. – izb

+0

Además, JMF no se ha actualizado desde la Edad de Piedra. Una mejor cosa que ver en este momento sería JavaFX, que presenta algunos desafíos de integración pero en realidad tiene un código nuevo. – M1EK

0

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

0

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

No le digo a nadie que use Java3D o JavaFX, pero si mira la fuente puede ver cómo se hace.

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

Open JavaFX "Abre JavaFX principal del proyecto" source

Debo señalar que desea buscar en el paquete de com.sun.prism.

Java3D "Java 3D proyecto de casa" sources

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

¡Buena suerte amigo mío!

Si necesita cualquier ayuda estaría interesado en la creación de un envoltorio de DirectX para Java por lo

DARME UN GRITO!

Cuestiones relacionadas