Je voulais savoir si il existe (et comment les recuperer) un equivalent aux Handle et autres HDC de composant graphiques ....
Je voulais savoir si il existe (et comment les recuperer) un equivalent aux Handle et autres HDC de composant graphiques ....
En version plus simple, quel comportement cherches tu à réaliser pour tes composants? (Désolé l'API win32 et moi ça fait 2)
Ca tombe bien, c'est pas de l'API Win32 dont j'ai besoin ... ca c'est mon domaine(Désolé l'API win32 et moi ça fait 2)
Donc clairement je cherche a acceder au "handle" d'une form pour y dessiner dessus.
Le but (un peu fou) serais de transmettre cette valeur a une dll c++ (ou delphi dans un premier temps) qui s'en servirais pour initialiser un moteur 3D et y effectuer un rendu. A cours terme j'envisage de piloter une librairie 3D basé sur directX actuel depuis un programme java au travers d'une dll delphi. A plus long terme la dll sera recode en C++ et apres coup deplacé vers une API OpenGL pour maintenir une compatibilite Windows/Linux voir meme Mac.
C'est ce que j'appelle une migration "en douceur"
Ce projet peut etre fou .... mais, meme dans le cas ou il est irrealisable ou simplement inexploitable, j'aurais eu au moins l'occasion de soulever suffisement de problemes techniques pour posseder une bonne connaissance generale du langage.
quitte a apprendre un nouveau langage java, autant aller a l'essentiel et taquiner ses entrailles
Les tutos "HelloWorld" c'est pas mon truc :p
Bah j'ai bien peur que tu doives bouffer du JNI dans tous les sens dans ce cas. Car java et l'interaction avec l'OS hôte ne sont en général pas e grands potes.
Donc en ce qui concerne la logique de ton appli ça peut être réalisé coté java, mais ensuite en ce qui concerne la communication avec l'OS tu devras plus que probablement écrire ça en C++ et/ou Delphi.
Pour te faire une idée de ce qu'est JNI: http://www.javaworld.com/javaworld/j...ni.html?page=1
Ainsi que le tuto de Sun:
http://java.sun.com/developer/online...CBook/jni.html
Ce ne sont pas de simples helloworld, même s'il est sur qu'ils ne vont peut être pas aux bas fonds du bestiau.
Penses également à regarder les ressources présentes en base des 6 pages
Mais bon avec tout ça ce que tu feras en java pur devrait être relativement simple et le gros du travail sera réalisé en C++ ou delphi
Une autre alternative serait d'attaquer directement OpenGL en java avec JOGL (bindings java/OpenGL) ou des surcouches comme JMonkeyEngine
En fait non .... je ne pense pas autant que ca.Envoyé par sinok
Sous un systeme win32 il me suffit juste du handle de l'objet qui sert de zone de rendu.
Donc en gros, la seule info que j'ai a transmettre de Java vers la dll est cette "form".
Bon apres j'ai quelques apis de pilotages pour connecter le GUI java a ma Dll (load object, load file, etc ...) le classique quoi.
Ca reste des string, des int, des trucs pas tres complexe.
C'ets prevu. Java ne s'occupe que du GUI.Envoyé par sinok
Meme si c'ets de l'interpreté, je suppose que les objets graphique se repose sur des objets systeme non ? c'ets pas du "TOUT" interprété ?
Je suppose que la jvm sert de wrapper entre le systeme et les byte code java ?
Donc l'objet graphique devrait avoir une existance propre aupres du systeme .. donc quelque part un handle ... non ?
Oui je viens de voir 2, 3 sites et fait des tests. Je comprends pas trop mal le systme de base ...Envoyé par sinok
facon de parlerEnvoyé par sinok
Disons que je ne suis pas du genre a me frapper les tutos de base exercices par exercices ... mais plutot partir sur un projet et chercher les infos dont j'ai besoin au fil du code. Quite a ce que ce soit la gestion des stream, ou autres truc assez complexe.
Oui, toute la partie gestion 3D. d'ailleur question perfs ca devrai etre prefereable non ?Envoyé par sinok
bien ! je vais voir caEnvoyé par sinok
Par contre je suis une quiche en 3D ... c'est mon taff qui veux ca
Donc si possible j'aimerais des libs un peu complete, genre "Mesh.LoadFile" et non comme je l'ai vu sur certains tutos OpenGL : creer son fichier et charger son mesh point par point, face par faces ..... :'(
Plus des trucs galeres comme le rendu des ombres, la transparence, etc ....
Bon en fouillant un peu j'ai trouvé quelquechose qui ressemble à ce que tu cheches, en passant par JNI et JAWT
http://www.javaworld.com/javaworld/j...javatip86.html
http://java.sun.com/j2se/1.5.0/docs/...Interface.html
Par conter ça a l'air relativement limité. Enfin à voir.
Sinon niveau 3D en java pur tu gagneras en simplicité à passer par un Scénographe comme JMonkeyEngine. Ensuite je ne suis pas expert en la question.
En ce qui concerne les perfs, tout dépend du coût de la tâche que ntu as à réaliser, si tu es sur d'avoir un gain de perf appréciable avec JNI, dans ce cas vas y, si le gain de perf est minimal autant éviter de se faire ch*** pour rien car JNI peut être un peu touchy par moments, en particulier vis à vis du GarbageCollector.
A toi de voir ensuite.
Mais je ne comprends toujours pas pourquoi il te faut absolument le Handle de ta fenêtre java, car tous les processus de communication et de threading peuvent se faire à travers JNI. A moins de vouloir dessiner directement sur ta fenêtre java...
Partager