Un petit test ...

Voir le sujet précédent Voir le sujet suivant Aller en bas

Un petit test ...

Message  _run_ le Ven 29 Juil 2011 - 23:11

Bonjour tout le monde

Je viens d'expérimenté un essai de modélisation sur les hélices tournantes. En gros, et c'est générale pas seulement fg, on fait tourner un disque semi-transparent avec des pales "flous" en textures.
Je lui reprochai de faire disparaître l'hélice lorsque la vue est de côté. J'ai donc fait tourné 3 pales définies dans un plan perpendiculaire, en plus du disque, comme ceci.






J'obtiens un objet avec des pales définies sur deux axes. En y appliquant toujours la meme texture. J'ai obtenu quelque chose de nouveau que je trouve intéressant.







Si cela vous dit de faire le test ... car on est rarement bon critique sur son propre travail .....

A++

_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un petit test ...

Message  helijah le Ven 29 Juil 2011 - 23:27

Perso je prend Smile La méthode hélice/propblur/propblur est ce que j'avais trouvé de mieux (quoique sur deux hélico j'ai ajouté l'option hélice visible mais.... pas très convainquant). Ce que je vois sur ta photo me plaît bien Smile. Alors je prend

Par contre tu remarqueras que personnellement je n'ai jamais laissé un disque complet pour la vitesse rapide. Je n'aime pas voir un disque complet. Et laisser des trous me permettais de me rapprocher de ton résultat mais, je pense en moins bien Smile

Amicalement Emmanuel

helijah
Pilote de voltige

Messages : 1658
Date d'inscription : 19/02/2009
Age : 49
Localisation : Chartres - France

Voir le profil de l'utilisateur http://helijah.free.fr/flightgear/hangar.htm

Revenir en haut Aller en bas

Re: Un petit test ...

Message  _run_ le Ven 29 Juil 2011 - 23:57

En faites, il y a quelques mois, je regardais une vidéo sur le fw190 (pas fait exprès), et j'ai remarqué que dans le plan de l'hélice les pales apparaissait plus sombre que lorsque l'avion était de face. Et c'était flagrant, on voyait vraiment le dessin de la pale.
A partir de 1 mn 22, c'est flagrant sur cette vidéo
http://www.youtube.com/watch?v=QRvc0i6Fu9c&feature=related
J'ai pensé à ça tout à l'heure.
Je vais même modifier mon code pour avoir une texture avec un "alpha" (transparence) variable en fonction de l'ange de vue.

_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un petit test ...

Message  helijah le Sam 30 Juil 2011 - 14:31

OK donc je reprend pour voir si j'ai tout bien compris.

Actuellement, personnellement, j'utilise ceci :


Vitesse lente : L'hélice est utilisé seule. Donc pas de soucis pour la 3D de profile Smile
Vitesse moyenne : Ajout du disque "propblur" à l'hélice. Toujours pas de soucis pour la 3D de profile.
Vitesse rapide : Disparition de l'hélice et du disque "propblur" et utilisation du disque "propdisc".

Si j'ai bien tout compris donc, il me suffit d'ajouter une hélice simplifiée sur le "propdisc" mappé avec la texture transparente du disque et l'effet devrait être le même que toi ?

Je vais tenté l'idée me plaît bien Smile

Amicalement Emmanuel

helijah
Pilote de voltige

Messages : 1658
Date d'inscription : 19/02/2009
Age : 49
Localisation : Chartres - France

Voir le profil de l'utilisateur http://helijah.free.fr/flightgear/hangar.htm

Revenir en haut Aller en bas

Re: Un petit test ...

Message  _run_ le Sam 30 Juil 2011 - 14:46

Oui ....

C'est carrément le même objet. Les morceaux de disques dans un plan. Puis les pales simplifiés dans des plans perpendiculaires.




http://rene16.dyndns.org/blender/pales.blend

_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un petit test ...

Message  helijah le Sam 30 Juil 2011 - 15:43

Ok j'avais bien compris Smile Je viens de tester sur le Lavavasseur et effectivement l'effet est sympa Smile. Par contre, je placerais l'hélice sur l'un des bords du disque et non au mileu des sections... en effet lorsqu'un objet tourne vite l'effet de blur qui en découle (résistance rétinienne) n'apparaît que 'un coté de l'objet et pas des deux. Ce que je fait aussi quand je place le "propblur" par rapport à l'hélice Smile

Bon cela oblige à faire attention au sens de rotation mais je pense que c'est tout même mieux pour les yeux Smile

Amicalement Emmanuel

helijah
Pilote de voltige

Messages : 1658
Date d'inscription : 19/02/2009
Age : 49
Localisation : Chartres - France

Voir le profil de l'utilisateur http://helijah.free.fr/flightgear/hangar.htm

Revenir en haut Aller en bas

Re: Un petit test ...

Message  _run_ le Sam 30 Juil 2011 - 15:54

helijah a écrit: n'apparaît que 'un coté de l'objet et pas des deux.

C'est une restriction d'opengl, les surfaces transparentes doivent être envoyé dans l'ordre du plus loin au plus près. Sinon le z-buffer supprime le pixel. Les faces représentant les pales simplifiées doivent être traités en premier par la carte graphique. En définissant les pales simplifiées en premier dans blender on devrait garder l'ordre d'envoi des faces par le programme.

En espérant que cela fonctionne
++

_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un petit test ...

Message  _run_ le Sam 30 Juil 2011 - 16:05

Je viens d' y réfléchir cela ne fonctionnera pas . Cette fois c'est disque derrière qui sera supprimé

_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un petit test ...

Message  helijah le Sam 30 Juil 2011 - 20:07

ARGH non je me suis mal exprimé Smile

Je parlais de l'effet de rémanence de la pale lors de la rotation de l'hélice. Regardes ton image, tu as placé la pale au centre de sa partie, personnellement je la place sur le bord d'attaque car l'effet de rémanence n'apparaît qu'a l'arrière de l'objet et pas devant Smile

helijah
Pilote de voltige

Messages : 1658
Date d'inscription : 19/02/2009
Age : 49
Localisation : Chartres - France

Voir le profil de l'utilisateur http://helijah.free.fr/flightgear/hangar.htm

Revenir en haut Aller en bas

Re: Un petit test ...

Message  _run_ le Sam 30 Juil 2011 - 20:10

ok ... compris

Mais le problème de l'ordre des faces demeure quand même.
Je vais regarder ce que cela donne comme tu dit



_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un petit test ...

Message  F-JJTH le Dim 31 Juil 2011 - 13:43

Salut _run_

J'essaie de m'intéresser à OpenGL depuis quelques temps dans le but de ré-implémenter les ombres dans FlightGear. Je crois voir que tu utilise l'OpenGL Viewer et donc que tu sais y faire avec OpenGL.
Alors rassures-toi, je ne vais pas te demander d'implémenter les ombres ! En fait je voudrais savoir s'il t'était possible de me fournir tout ce dont tu as eu besoin pour générer cette scène :

_run_ a écrit:


Si tout est dans un dossier, t'as juste me le tar.gzipper et je me ferais un plaisir de tout décortiquer. Peut-être y trouverais-je une piste pour les ombres.

Amicalement,
Clément

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )

F-JJTH
Pilote de Ligne

Messages : 2010
Date d'inscription : 19/01/2011
Age : 28
Localisation : Carpentras - LFNH

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Un petit test ...

Message  _run_ le Dim 31 Juil 2011 - 14:53

Euh..... 40 000 lignes de code c++

Sérieusement. Je peux te dire comment faire. Mais il te faudra une connaissance des maths appliqués à la 3d. Une connaissance de l'api opengl et de l écriture de shader opengl.
C est grossi modo une histoire de projection du point de vue du soleil, puis une comparaison au moment du rendu. C est un rendu en deux passes. Le résultat est superbe car il y l ombre dans le cockpit.
Si tu ne connais pas le C/C++ c' est voué à l' échec.

Tiens moi au courant......
A+++


_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un petit test ...

Message  helijah le Dim 31 Juil 2011 - 15:40

Et oui Clément. Je penses que tu n'as pas totalement saisie ce que j'expliquais plus haut Smile

_run_ écrit son propre simu mais cela sans passé par OSG ou autre chose. C'est du 100% OpenGL. Ce qui, à mon sens, reste encore la meilleure methode pour plus tard attaquer OSG. Car au moins il maîtrisera OpenGL et donc le fonctionnement interne de OSG ne lui sera pas inconnu Smile Il sera d'ailleurs au premier plan pour se rendre compte de toute la puissance de OSG Smile

Donc Clément, ce que tu vois sur la photo de _run_ est le résultat de son code. Ce n'est pas FG ni un autre simu. Non c'est LE simu de _run_ et seulement le sien Smile

Amicalement Emmanuel

helijah
Pilote de voltige

Messages : 1658
Date d'inscription : 19/02/2009
Age : 49
Localisation : Chartres - France

Voir le profil de l'utilisateur http://helijah.free.fr/flightgear/hangar.htm

Revenir en haut Aller en bas

Re: Un petit test ...

Message  Alexis le Dim 31 Juil 2011 - 15:57

D'ailleurs run tu nous a pas vraiment parlé de ton simulateur, on a juste vu quelques captures et ça à l'air impressionnant. Perso j'aimerais bien en savoir plus...

Alexis
Admin

Messages : 2052
Date d'inscription : 19/02/2009
Age : 23
Localisation : Loire Atlantique

Voir le profil de l'utilisateur http://fgalexis.jimdo.com/

Revenir en haut Aller en bas

Re: Un petit test ...

Message  F-JJTH le Dim 31 Juil 2011 - 16:31

Je connais le C/C++ (je suis pas un crac non plus hein) mais il est vrai que niveau math 3D je n'y connais rien. Par contre après les différentes lecture que j'ai pu faire j'arrive maintenant à déchiffre un shader OpenGL et OSG mais je suis incapable d'en créer un, c'est pourquoi je cherche des bouts de code qu'il me suffirait d'assembler et arranger pour retrouver les ombres.

J'ai bien repéré l'endroit dans lequel les ombres OSG sont désactivé dans les source de FlightGear, malheureusement le code semble vraiment être resté inchangé depuis la version PLIB

fgfs/flightgear/src/Main/renderer.cxx : (l. 697 à l. 748)
Code:

        SGSkyState sstate;
        sstate.pos      = current__view->getViewPosition();
        sstate.pos_geod  = current__view->getPosition();
        sstate.ori      = current__view->getViewOrientation();
        sstate.spin      = l->get_sun_rotation();
        sstate.gst      = globals->get_time_params()->getGst();
        sstate.sun_dist  = 50000.0 * sun_horiz_eff;
        sstate.moon_dist = 40000.0 * moon_horiz_eff;
        sstate.sun_angle = l->get_sun_angle();

        SGSkyColor scolor;
        scolor.sky_color  = SGVec3f(l->sky_color().data());
        scolor.adj_sky_color = SGVec3f(l->adj_sky_color().data());
        scolor.fog_color  = SGVec3f(l->adj_fog_color().data());
        scolor.cloud_color = SGVec3f(l->cloud_color().data());
        scolor.sun_angle  = l->get_sun_angle();
        scolor.moon_angle  = l->get_moon_angle();
 
        double delta_time_sec = _sim_delta_sec->getDoubleValue();
        thesky->reposition( sstate, *globals->get_ephem(), delta_time_sec );
        thesky->repaint( scolor, *globals->get_ephem() );

            //OSGFIXME
//        shadows->setupShadows(
//          current__view->getLongitude_deg(),
//          current__view->getLatitude_deg(),
//          globals->get_time_params()->getGst(),
//          globals->get_ephem()->getSunRightAscension(),
//          globals->get_ephem()->getSunDeclination(),
//          l->get_sun_angle());

    }

//    sgEnviro.setLight(l->adj_fog_color());
//    sgEnviro.startOfFrame(current__view->get_view_pos(),
//        current__view->get_world_up(),
//        current__view->getLongitude_deg(),
//        current__view->getLatitude_deg(),
//        current__view->getAltitudeASL_ft() * SG_FEET_TO_METER,
//        delta_time_sec);

    // OSGFIXME
//    sgEnviro.drawLightning();

//        double current_view_origin_airspeed_horiz_kt =
//        fgGetDouble("/velocities/airspeed-kt", 0.0)
//                        * cos( fgGetDouble("/orientation/pitch-deg", 0.0)
//                                * SGD_DEGREES_TO_RADIANS);

    // OSGFIXME
//    if( is_internal )
//        shadows->endOfFrame();

On voit nettement la section concernant les ombres OSG. Cependant j'ai bien conscience que ma maigre connaissance en OpenGL et OSG ne suffiront pas à faire ça seul... je me dis qu'il faut bien que quelqu'un se lance là dedans sinon on ne retrouveras jamais de véritable ombres (qui au passage rendent un simulateur bien plus réaliste)

Bon vu que tu le propose, je veux bien que tu me dise comment faire. J'arriverai peut-être à comprendre Wink

Sinon en effet j'avais pas saisie que c'était LE simu de _run_, je pensais que c'était un fichier de démo OSG Viewer un peu arrangé. Toute mes félicitations pour ce travail _run_, et moi aussi j'aimerai bien en savoir plus (tu codes ce simu pour ton plaisir ? tu compte le publier ? a-t-il une particularité ?)

Amicalement,
Clément

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )

F-JJTH
Pilote de Ligne

Messages : 2010
Date d'inscription : 19/01/2011
Age : 28
Localisation : Carpentras - LFNH

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Un petit test ...

Message  helijah le Dim 31 Juil 2011 - 17:06

hé hé désolé _run_ Smile Maintenant qu'ils savent tu ne vas plus être tranquille lol

helijah
Pilote de voltige

Messages : 1658
Date d'inscription : 19/02/2009
Age : 49
Localisation : Chartres - France

Voir le profil de l'utilisateur http://helijah.free.fr/flightgear/hangar.htm

Revenir en haut Aller en bas

Re: Un petit test ...

Message  _run_ le Dim 31 Juil 2011 - 19:20

Bon .....

C'est un programme écrit en C/C++ que j'ai commencé il y a plus de 2 ans. Je suis parti d'un code que j'ai trouvé sur le net



A cette époque je cherchais des tuto et des exemples pour la programmations des shaders que je ne connaissais pas. Lorsque je suis tombé sur ce site:
http://yannick.gerometta.free.fr/base.php?id=glsldemo
En regardant de plus prêt, c'est un programme de fin d'étude de 3 étudiants en informatique.
En lisant ce code je l'ai vraiment trouvé bien écrit, claire, simple (quoique..) efficace. J'ai d'abord modifié le code pour un portage sous linux. Puis un pari avec mon gendre, pour y incorporer une créature aquatique dans l'île paradisiaque, m'y a plongé dedans. Lorsque j'ai gagné ce pari (pari d'ami..juste ca reconnaissance) j'ai commencé à y mettre des avions. Maintenant le code est tellement modifié que je l'ai ecrit à 90% et même plus. J'y ai conservé l'architecture que je trouvais bien faite.
Maintenant voila une description :
Ce n'est pas encore un simulateur à proprement parler, les avions possèdent juste un déplacement de type avion. C'est juste un déplacement.
On peut "voler" avec différents appareil, spitfire, bf109, fw190, d520, b17, b24, b25, ju52, ju87, zero, f4u, lancaster, mirage200, rafale, p51, p47, p38, bleriot ... pour l'instant un 50aine d'avions, souvent de la dernière guerre mondiale.
Certain de ces avions sont pilotés par l'ordinateur, et peuvent voler dans différents modes. Patrouilleur, formation, attaque ....
Le programme possède une console, et ces commandes peuvent être réuni dans un script. Cela permet de générer des scènes complexes, avec une centaine d'avions en l'air. Chaque avion ayant un but. Là où je suis content c'est la rapidité du code. Avec 100 avions j'ai une vitesse d'affichage de 60fps a peu près.
Pour l'instant seul l'avion que l'on pilote possède une ombre projeté, aussi bien sur l'environnement que sur lui même. C'est typiquement le genre de chose que le programme faisait avant, et que j'ai entièrement réécrit, pour l'optimisé.
Le décor en est à sa deuxième version. A la première version il y avait des maisons et des arbres, mais la taille était très petite 2kmx2km. La nouvelle version permet d'utiliser des vastes terrains, 160kmx160km, et les détails sont en cours d'intégration. Il devra y avoir l'herbe et d'autres choses sympa.
Le cockpit du spit à entièrement été modélisé par moi. L'avion de départ est le spit de flightgear. J'ai du apprendre à utiliser blender, inkscape, et the gimp. Les textures des instruments de vols, ont été faites avec inkscape pour les graduations des cadrans. Que je conseille vivement pour avoir une cohérence de texture. Le cockpit n'est pas fini, mais sera à terme "retexturé", pour y faire une carte d'ambiance occlusion avec blender. Le bf109 que vous voyez sur certaines captures, est cette fois entièrement modélisé par moi. Pour les autres avions, helijah est passé par là, pour la plupart.
En ce moment je suis en train d'écrire des fichiers de configuration d'avion afin d'y incorporer de nouveau avions. La description de l'avion sera dans un fichier et non plus en dur dans le code. Ce fichier est au format texte.
Ce programme utilise très peu de bibliothèque, en général je préfère réécrire le code. Pour l'optimisation c'est primordiale, mais c'est plus long.

Ce programme à pour but de faire une simu, sur les combats de 2eme guerre mondiale. De pouvoir "scripté", et jouer toutes sortes de missions historiques. Je suis un passionné de cette période, depuis l'age de 14 ans où j'ai lu "le grand cirque" de Pierre Clostermann.
Pour l'instant certains avions peuvent tiré sur d'autres. Mais le modèle de dégats, encore très simple, sera inspiré de "rigs of rod" : http://www.rigsofrods.com/content/?s=4f293e17cca38e1487276462ceb132ff
J'ai un long passé de simu sur il2, et je faisais parti d'une escadrille virtuelle, le 615 squadron, dont le forum est ici : http://gefuv.bbfr.net/
C'est une simu sur la deuxième guerre mondiale, très réaliste, où l'on reproduisait les vols en formations de combats en escadrille. Je tiens à préciser que je suis un pacifiste dans l'âme, et que je n'approuve aucune idéologie de cette époque, et pourtant je déplore la suppression de la svastika sur les avions allemands des simu en générale, car c'est une réalité historique. Ignorer l'histoire c'est recommencer les mêmes erreurs, voila c'est dit ...

Mais en plus, j'aimerai ajouté une atmosphère évoluée, pour y faire voler des planeurs, une autre de mes passions.

C'est une description succinte ... je vous fourni quelques capture d'écran .













_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un petit test ...

Message  helijah le Dim 31 Juil 2011 - 21:38

Voilà ! Il a tout dit Smile Vous savez tout Smile Mais Dieu que d'évolution depuis l'époque ou j'ai eu la chance de compiler la chose sur ma machine !

Au passage IL2-1946 tourne parfaitement sur GNU/Linux avec wine Smile Je vais y faire un petit vol de temps à autre Smile Pour RoR c'est une autre histoire, je trouve OGRE beaucoup trop lourd et lent. Et la compilation de RoR demande tellement de dépendances étranges que j'ai fini par laisser tomber Smile

AAAAHHHH Un IL2 sur GNU/Linux voilà qui devrait plaire à de nombreux utilisateurs Smile

Amicalement Emmanuel

helijah
Pilote de voltige

Messages : 1658
Date d'inscription : 19/02/2009
Age : 49
Localisation : Chartres - France

Voir le profil de l'utilisateur http://helijah.free.fr/flightgear/hangar.htm

Revenir en haut Aller en bas

Re: Un petit test ...

Message  bibi le Dim 31 Juil 2011 - 23:16

affraid affraid
j'imagine qu'il ne faut pas parler de win7 avec ça ?

_________________
quand faut y aller faut y aller
décoller c'est bien, atterrir c'est mieux.

bibi
Pilote d'hélico

Messages : 957
Date d'inscription : 23/08/2010
Age : 22
Localisation : loire-atlantique

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un petit test ...

Message  _run_ le Lun 1 Aoû 2011 - 4:35

bibi a écrit: affraid affraid
j'imagine qu'il ne faut pas parler de win7 avec ça ?


Pourquoi ???
Le portage ne sera vraiment pas compliqué. Je n'utilise que des bibliothèque standards, et de l'opengl standard, pas les extensions dédié à des cartes spécifiques. Je pense, qu'il faudra réécrire la partie joystick entièrement, et modifier la partie thread, et encore les bibliothèques ont quasiment les mêmes fonctions.
Lorsque je fais un portage de programme graphique de windows vers linux, le code n'evolue pas beaucoup.

_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un petit test ...

Message  Contenu sponsorisé Aujourd'hui à 7:36


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum