Java & OpenGL

J’ai peur que pour IL2 il n’y ait que l’interface graphiques des menus en Java, si je me souviens bien de ce que disait les développeurs

Nikko

Apres discussion avec un gars dev chez Maddox au sujet de fonction OpenGL non implemente dans certaines configurations et divers bugs (ombrages, alpha, etc), IL2 a un moteur 3D en Java appelant en JNI les fonctions OpenGL (comme le fait GL4Java par exemple)…
De plus, la gestion du code reseau, des objets (placement, IA), et une partie du modele de vol est en Java. Reste en C++: le moteur sonore (DSound) , le moteur d’E/S (DInput), la plus grande partie du calculateur des modeles de vols.

Decortiquez un peu les DLL (avec Depend par exemple) et les repertoires (oh la belle machine virtuel Java 1.3 avec HotSpot) pour en etre sur…

edit/ajout: en fait, quel differences entre un moteur graphique en Java et un en C++, puisque quasiment tous les appels au cul sont en OpenGL?

Edit2: vous savez que IL2 est en OpenGL et qu’il implemente un simple wrapper direct3d?

Ce message a été édité par Trevidos le 10/09/2004

pour IL2 en JAVA faudrait faire un mail à notre ami Oleg, parce qu’il y a de tout et n’importe quoi qui circule

des extraits…

http://www.avsim.com/pages/0102/il-2/il-2.html
"Next urban legend says, that IL-2 is coded in Java. Again, this assumption is based on rumors only, and has no substance. Java is used in IL-2, but just in small part. C++ is mostly used in coding this baby"
http://forum.java.sun.com/thread.jsp?threa…message=1215122
IL-2 Sturmovik (2001) by Maddox Games: Uses dirty Java by mixing Java with C++, such that logic and part of the game engine is in Java but all the graphics are in C++. This game has gotten very good reviews.

Le peu que j’ai réussi à retrouver des interventions de Oleg:

“We have many requests to sell/license our tools, 3D engine, etc… from other developers, Flight schools (that would like to make training sims of the actual aircraft used in the school) and aviation companies.
I know that we miss money… But the situation is that we have no forces to translate, develop and to make comments in a code that contains already about 3,000,000 lines of the code in Visual C++ (I don’t count here Jawa and accembler part of code).”

Nikko

Arf , ca fou le bordel dans notre idée, je m’explique :

On pensait donc partir en OpenGL/java … j’ai choppé un plugin pour Eclipse (GL4Java) et GLUT dans la foulée, bref ca roule.

Et là je commence à jeter un oeil sur Swing pour notre interface, la cest pareil, je connais rien en programmation d’interface, mais Swing (donc java encore) aurait l’avantage de PEUT ETRE faciliter le fonctionnement de la partie Opengl et de la partie interface de notre STR.

Je sais pas si j’suis clair, je le refais au cas ou :

  • c’est visiblement le bordel de faire fonctionner une interface et une fenetre opengl ensemble quand on debute -

Alors : question !   - Est-ce que le fait que les 2 soient du java aiderait ? - 

Attention : j’y connais quedalle encore en programmation en plusieurs bibio/langages.

Je veux dire par là que j’ai vu des potes coder leur graphisme en opengl (sous c) et leur interface en Glade/GTK (il me semble) et ils ont luttés pour faire bosser les 2 ensemble d’apres les echos que j’ai eu.

Bref, dans une optique globale : je sais plus vraiment quoi utiliser… Les autres membres de mon groupe sont moyennement chauds pour le C++ (moi je suis pas contre, cest pas si different du Java, y a juste 2, 3 trucs en + genre les pointeurs et autres trucs du genre ?)

Merci encore en tout cas, j’attends vos (sages) avis 

  • Vous êtes obligés de travailler directement sur OpenGL? Vous ne pouvez pas utiliser un des moteurs 3D gratuits du net? (à mon avis, une fois qu’on a trouvé celui qui fait ce qu’on veut, c’est vachement plus simple…)

  • C++, moi aussi j’étais presque contre… Je n’avais que des bases en java (grâce aux qqs cours à l’école) Au final, ca s’est très bien passé et maintenant je me démerde mieux en c++ qu’en java… Le langage, faut pas que ce soit un obstacle (mais plutôt un outil)

Voilà, c’est à peu près tout ce que j’avais à dire pour l’instant…

Bonne chance

Vu dans NoFrag récemment : un portage de Quake 2 en java

Bon, on est parti en C++.

Merci pour vos conseils. Je profite de ce topic pour deriver rapidement (si jamais qq un repasse) pour demander avec quoi jpeux programmer une interface pour notre jeu ?

Que ce soit le menu, ou vraiment l’interface ingame, le truc le plus utilisé cest quoi ??

Merci !

Pour une interface industrielle PORTABLE, QT sans aucun doute…
Pour un jeu: tes petits doigts a toi!

edit: ajout de PORTABLE… avant de me faire taper!

Ce message a été édité par Trevidos le 13/09/2004

[quote]Pour une interface industrielle PORTABLE, QT sans aucun doute…
Pour un jeu: tes petits doigts a toi![/quote]Avis perso, c’est pas pour troller hein: l’interface, pour tout logiciel que ce soit jeu ou application, devrait toujours être programmée en utilisant les bibliothèques du système de destination. Je trouve qu’il n’y a rien de pire qu’une interface qui va à l’encontre du système sur lequel elle est sensée fonctionner:
Je donne des exemples de bonnes interfaces:

  • toutes les applis Office
  • Photoshop
  • etc

(désolé je n’ai pas d’idée d’applis “natives” pour les autres OS, mais vous devriez trouver)

Exemples de mauvaises interfaces:

  • The Gimp
  • une bonne partie des applis GTK, ptet bien sous Nunux, mais à l’encontre du système destination
  • etc.

Bon, ça demande plus de boulot, mais de l’autre côté, tu gardes les fonctions/méthodes/procédures maîtresses en C/C++, Pascal, WhatEver pur, et elles sont portables.

Pour eviter de troller: quand je parles de QT en tant qu’interface portable, je fais reference a mon experience professionelle. En parcourant quelques boites qui doivent programer et vendre du logiciel sur tout un tas de plateforme, une librairie d’interface est plus que necessaire. QT s’impose comme un choix que de nombreux industriels font, ainsi que SWING ou encore IlogViews.
Pour un developpement sous Windows, le langage natif est preferable. Et oui, juste sous Windows, car sous Irix, Solaris ou encore Linux, il n’existe aucune interface graphique imposee, mais un ensemble de window manager, Motif etant le plus commun sur ces plateformes.

L’exemple de GIMP est assez mauvais, dans le sens ou la version windows n’est que tres peu supporte. De plus, je parlais d’une application professionelle et Gimp n’est pas industrielle. De toute facon, je deconseille tres fortement la programation en GTK+…

Je rappel que ce serait de Windows vers Windows , QT c’est quoi ?

va voir chez trolltech:

http://www.trolltech.com/

C’est entre autre le window manager utilise par KDE…

Si je puis me permettre, je vous conseille de jeter un oeil ici : http://www.wildtangent.com/

Allez voir les démos : c’est très impressionnant pour du java. Les jeux s’exécutent directement dans le browser (il faut installer un plugin). J’ai eu l’occasion de bidouiller un peu avec le SDK (http://www.wildtangent.com/default.asp?pageID=developer_1) et je dois avouer que les exemples sont assez bien foutus et formateurs.

N’hésitez pas : ça peut vraiment aider

[quote]Vu dans NoFrag récemment : un portage de Quake 2 en java[/quote]C’est sympa… mais pourquoi??? Je pense uniquement pour la beauté du codage… parce que l’utilité… je la vois pas trop.