Bonjour à tous,
Je souhaiterais savoir s'il est possible, sous Windows, d'accéder aux fonctions DirectX en Java ?
Et dans ce cas, que se passe-t-il si je passe sous Linux, puis-je installer un "patch" ?
Merci
Bonjour à tous,
Je souhaiterais savoir s'il est possible, sous Windows, d'accéder aux fonctions DirectX en Java ?
Et dans ce cas, que se passe-t-il si je passe sous Linux, puis-je installer un "patch" ?
Merci
Salut,
Tu es obligé de passer par du code natif et JNI... donc non portable...Envoyé par yomapoitiers
Envoyé par yomapoitiers
![]()
Etant donné que DirectX est une API propriétaire de Microsoft, je ne pense pas que ce soit possible![]()
Mais que veux-tu faire exactement ?
a++
Ce que je cherche à faire ?
Et bien je développe des applis Windows en C++ qui utilisent les fonctionnalités de DirectX. Prenons un exemple simple, un video renderer d'un flux en provenance d'une camera locale. Bien entendu, je suis confronté à différents problèmes de compatibilités, notamment la version du DirectX installée, la carte graphique (les fonctions graphiques DirectX prises en charge par la carte), les drivers, bref les performances de mon appli vont dépendre du soft- comme du hardware.
Mais en plus, je souhaiterais pouvoir utiliser mon appli sous Linux, sans avoir à émuler windows !
J'imagine bien que DirectX ne tourne pas sous Linux mais y'a-t-il des librairies existantes qui permettraient de bénéficier des mêmes fonctionnalités, quitte à avoir un code différent ? Quelqu'un aurait-il été assez barjot pour développer une librairie ayant les mêmes appels que DirectX mais avec des traitements Linux derrière ? Ca serait génial de pouvoir avoir un appel de fonctions commun aux différentes plateformes, et derrière des traitements différents suivant l'OS ou le processeur comme c'est déjà le cas pour ce dernier.
Et pour l'interface graphique, qu'ai-je comme solution pour en développer une qui puisse être lancée sous Linux et Windows sans avoir à émuler l'un des OS ? En effet, le but de DirectX est la rapidité, donc si c'est pour émuler... autant aller se coucher.
Voilà, j'espère avoir été clair, merci beaucoup.
Pour les interfaces graphiques, tu peux utiliser Swing qui fait partie de l'api standard et qui fonctionnera sans problème aussi bien sous windows que sur linux.Envoyé par yomapoitiers
Sinon en ce qui concerne DirectX, pourquoi ne pas utiliser JOGL qui est basée sur OpenGl ? tu y gagnera en portabilité.
Plus d'informations dans ces articles :
Les api 3D pour java
Apprendre l'OpenGL avec Java : Introduction
Sauf erreur de lecture et de compréhension, JOGL est l'OpenGL pour Java, c'est à dire tout ce qu'il faut pour faire de la 3D sous Java. Mais ce n'est pas du tout ce que je cherche ! Il y a du y avoir confusion entre DirectX et Direct 3D qui est certes une composante de DirectX !
DirectX, c'est Direct 3D + Direct Sound + Direct Show + ...
C'est à dire un ensemble de librairies donc de fonctions permettant de gérer le multimedia dans un environnement Windows. Windows Media Player, par exemple, exploite les fonctionnalités de DirectX pour lire des sons et des videos. DirectX permet de développer des applications en s'affranchissant des drivers nécessaires pour tel ou tel périphérique. Par exemple si je veux développer une application qui enregistre ce que filme une caméra connectée à mon PC, je développe l'interface en MFC par exemple, en C++ donc, et je gère les flux audio et video via directX. Quand la caméra est branchée, j'interroge le flux pour connaître le type d'image, la taille, le nombre de couleurs, le fps... bref tout ce qui me sera nécessaire pour allouer proprement la mémoire nécessaire à la gestion du flux. Ainsi il est possible d'écrire des filtres (des DLL) qui sont des espèces de Beans, interconnectables à souhait, et permettant le développement d'applications performantes très rapidement.
Ce que je cherche à faire, dans un premier temps, c'est tout simplement réaliser une interface graphique avec des boutons, curseurs, listes déroulantes, radiobuttons... qui puisse tourner sous Windows et Linux en tant qu'application (sinon je peux toujours l'écrire en html !).
Ensuite, je vais y intégrer des fonctionnalités utilisant DirectX, telles que l'affichage d'une vidéo temps réel, l'enregistrement vocal, la lecture sonore...
Sous Windows, je sais faire, mais sous Linux, je ne sais pas faire !
Je voudrais donc savoir si :
1 - je dois renoncer à ce projet et démissionner![]()
2 - écrire moi-même DirectX pour Linux et commencer le développement de mon application dans 110 ans![]()
3 - Emuler Windows sous Linux et faire le café avec mon lave-vaisselle![]()
4 - Trouver une solution qu me permette d'utiliser les fonctionnalités de DirectX sous un autre nom sous Linux mais avec le même résultat![]()
5 - Programmer sur Amiga![]()
Voilà, si besoin, je peux donner d'avantage d'infos sur DirectX, mais je pense que ce n'est pas difficile de trouver !
Pour la gestion du multimédia, tu peux peut-être te tourner vers JMF (Java Media Framework) : http://java.sun.com/products/java-me...ocs/index.html
a++
SAlut,
tu fais du C++ ou du Java ?
Parce qu'en C++ un combo SDL(un espece de DirectX open source, masi je sais pas s'il est portable ?) + Qt ?
[edit]
http://fr.wikipedia.org/wiki/Simple_DirectMedia_Layer
portable et meme attaquable de Java
Partager