See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: Orbiter avec DX9 ou DX11 - boostez le rendu !  (Read 27993 times)

0 Members and 1 Guest are viewing this topic.

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 14991
  • Karma: 165
  • Hein, quoi !?
    • FsPassengers
23 November 2012, 14:48:53
Orbiter avec DX9 ou DX11 - boostez le rendu !

Orbiter utilise DX7 pour le rendu, un moteur vieux d'un siècle. Heureusement Martin le créateur a donné la possibilité d’écrire des clients graphiques externe qui s'occupent du rendu.

Deux clients mature sont disponible actuellement: DX9 et DX11, ils supportent pleins de choses que Orbiter.exe ne fait pas comme les bump map, les normal map, les reflexion map, l'antialiasing natif, tous des trucs "next gen" pour le rendu des modèles et de l'image.

Cerise sur le gateau: Orbiter avec DX7 tourne très mal sur les machines Vista et Windows 7, certains ont vu leurs FPS passer de 38 FPS :sad: à...  700 FPS  :eek: :top:

Pour le client DX9 téléchargement et installation ici: http://www.orbiter-forum.com/showthread.php?t=18431
Pour le client DX11 téléchargement et installation ici: http://www.orbiter-forum.com/showthread.php?t=26147

Une fois installé on lance "Orbiter_ng.exe" au lieu de "Orbiter.exe" on coche le module client choisi (DX9 ou DX11) et après on peut définir les options graphique dans "vidéo".

Quote
TRUC IMPORTANT A SAVOIR:
  • Le DeltaGliderIV, UCGO et UMmu ne sont pas conçu pour tourner sur la bêta d'orbiter, même sur Vista et Seven préférez l'addon DX9 et Orbiter 2010 normal!
  • Evitez les modes vidéo "fullscreen" (plein écran), ces modes ne sont pas compatible avec les dialogues windows d'Orbiter (sera revu pour la prochaine version d'orbiter)
  • Le DX9 marche uniquement sur la version normale d'Orbiter 2010 (100830) sinon ça ne marche PAS !
  • Le DX11 lui marche uniquement sur la version bêta d'Orbiter sinon ça ne marche PAS !






Pour donner une idée de la différence de rendu voilà UMmu 2.5 avec une "normale map", ombrage dynamique des vêtements.



Et le même rendu avec Orbiter.exe (moteur Dx7, ombrage "peint" sur la texture )




Rendu DX7:



Et Rendu DX9 avec filtre anisotropique et antialiasing.






Rappel: DX11 ne marche que sur les machines Vista et suivante (Seven etc) doté d'une carte compatible DirectX11. N'oubliez pas d'avoir directX à jour. Lisez bien les post d'installation, DirectX 11 ne marche qu'avec la beta d'Orbiter 111105 et DirectX9 lui ne marche qu'avec Orbiter P1 standard.




EDIT 2013

Avec DX9 R12 (Et suivant) voici un résumé des paramètres sympa et comment limiter le framerate à une valeur fixe, dans mon cas 100, mais vous mettez ce que vous voulez:


« Last Edit: 30 November 2013, 09:42:49 by DanSteph »

Offline jacquesmomo

  • Il parait que je suis une
  • Legend
  • ******
  • Posts: 5385
  • Country: France fr
  • Karma: 255
  • Plus on rate, plus on a de chances de réussir !..
Reply #1 - 23 November 2012, 15:01:30
Ah ben oui... y a pas photo... (ou plutôt si, y a photo...) :trucdeouf:

Bon... Après avoir testé mon futur "Tintin" avec OrbiterSound v4, il va falloir que je teste DX9 (car j'ai XP) je n'envisage pas Seven avant 2023 :siffle:


Mes add-ons sont là !

Offline antoo

  • Legend
  • ******
  • Posts: 3329
  • Country: France fr
  • Karma: 134
  • 2, breaking left!
    • Forum de mon Asso d'Echasses Urbaines
Reply #2 - 23 November 2012, 15:48:21
ah quand même...


---------------------------------------------------------------------------------------------------
"ET C´EST PARTI!!" Youri Gagarine au lancement de vostok 1 le 12 avril 1961
Ma chaîne Youtube : Airsoft, FPS, Simulation : http://www.youtube.com/channel/UCrzIPMeULZU6lR4M6DVsH2g

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 14991
  • Karma: 165
  • Hein, quoi !?
    • FsPassengers
Reply #3 - 23 November 2012, 15:51:24
Quote
jacquesmomo a écrit:
il va falloir que je teste DX9 (car j'ai XP) je n'envisage pas Seven avant 2023 :siffle:


Je fais tout mes développement sous DX9 depuis 8 mois, donc ça marche très bien.

Je ne vais sous Orbiter.exe que pour vérifier qu'il n'y a pas des bugs avec le client DX7 ou comme dans le cas
de UMmu pour essayer de transformer un rendu de merde peu concluant en un truc potable utilisable. ;)


Offline Fox-Terrier

  • League of
  • Legend
  • ******
  • Posts: 1426
  • Country: Switzerland ch
  • Karma: 28
  • :D
Reply #4 - 23 November 2012, 16:34:54
Merci Dan, c'est génial ! :bave:

heureusement que ça existe, orbiter va pouvoir tenir encore longtemps grâce à ça !

edit : faudrait carrément épingler ce topic déjà fait en fait ^^



Message modifié ( 23-11-2012 16:35 )


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 14991
  • Karma: 165
  • Hein, quoi !?
    • FsPassengers
Reply #5 - 23 November 2012, 17:40:31
Quote
Fox-Terrier a écrit:
heureusement que ça existe, orbiter va pouvoir tenir encore longtemps grâce à ça !

Yep, et ils sont open source, donc si l'auteur lâche la rampe un autre peut reprendre.
Pour l'instant ils se sont focalisé sur le rendu "as in orbiter" mais ils peuvent rajouter
pleins d'effets, terrains, atmosphère, rendu textures, lens flare et autres.

Et ils supportent les shader en plus ;) (modification dynamique de texture, sert à pleins d'effets)

Dan



Post Edited ( 11-25-12 00:33 )


Offline SolarLiner

  • Global Moderator
  • Legend
  • *****
  • Posts: 2767
  • Country: France fr
  • Karma: 54
  • a été remercié par Le Créateur
Reply #6 - 23 November 2012, 17:46:41
Le terrain, asmi (mais surtout Glider) sont en plein dedans, les résultats sont très prometteurs, et asmi à prévu d'ajouter deux-trois des effets qu'on peut voir sur tout (bon) jeu commercial.



Offline dix2lespace

  • Sr. Member
  • ****
  • Posts: 314
  • Karma: 0
Reply #7 - 26 November 2012, 17:53:51
Le Dx11 ne marche pas. Il n’apparaît pas dans module


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 14991
  • Karma: 165
  • Hein, quoi !?
    • FsPassengers
Reply #8 - 26 November 2012, 18:18:28
Quote
dix2lespace a écrit:
Le Dx11 ne marche pas. Il n’apparaît pas dans module

Du coup lis bien le post "DX11": il doit te manquer la dernière version directx.
http://www.orbiter-forum.com/showthread.php?t=26147

Et il n'est compatible qu'avec la beta Orbiter de 2011:
"Orbiter: current build is only compatible with 111105 Beta, which can be downloaded from here: http://www.orbiter-forum.com/download.php#downloadbeta "

(Attention pas les suivantes de 2012, elles sont buggées)



Message modifié ( 26-11-2012 20:24 )


Offline picto

  • Legend
  • ******
  • Posts: 5013
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #9 - 27 November 2012, 10:57:57
C'est un article très intéressant Monsieur Steph !
Pourrais-tu expliquer un tout petit chouilla en plus ces trois termes ?

"effet terrain" : De quoi s'agit-il ? Ou plutôt, quelles sont les possibilités ouvertes par cet effet ?

"rendu textures" : Je ne comprends pas ce terme utilisé dans le contexte d'un simu en "action" Si tu veux bien développer un peu ce serait sympa. ( Reste obstinément bloqué sur le "Render to texture" de 3dsmax et ne comprends pas à quoi ceci correspond sur Orbiter :wall: )

"shader" : ?!, Kesako ?

Dernière question, la "normale map" est-elle une map aussi simple à éditer et maîtriser qu'une "bump map" par exemple ?


Pic

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 14991
  • Karma: 165
  • Hein, quoi !?
    • FsPassengers
Reply #10 - 27 November 2012, 13:42:09
Quote
picto a écrit:
"effet terrain" : De quoi s'agit-il ? Ou plutôt, quelles sont les possibilités ouvertes par cet effet ?

Il est "facile" depuis le moteur sachant ou est le sol de rajouter du terrain dessus.
Le problème c'est les collisions avec le sol, c'est pour cela à mon avis que Martin planche
sur un tout nouveau système: il faudrait que ce sol aie une "existence" dans Orbiter lui-même
pour gérer les collisions.

Quote
picto a écrit:
"rendu textures" : Je ne comprends pas ce terme utilisé dans le contexte d'un simu en "action" Si tu veux bien développer un peu ce serait sympa. ( Reste obstinément bloqué sur le "Render to texture" de 3dsmax et ne comprends pas à quoi ceci correspond sur Orbiter :wall: )

Boah, dans ce contexte c'est comme le "drapé" d'une robe, l'affichage quoi.
La similitude avec un render to texture s'arrête à une illumination et ombrage relativement basique en comparaison.

Quote
picto a écrit:
"shader" : ?!, Kesako ?

Des petits bouts de code souvent des opérations mathématiques entre les pixels qui tournent *directement dans la carte graphique*. ça peut s’écrire avec notepad, c'est indépendant de ton code (sauf l'application à une texture de l'effet) et ça ce met dans des fichiers "*.fx" qui sont compilés et envoyés à la carte au lancement.

Il peut prendre plusieurs textures, le fond ou/et la lumière en entrée et faire des opération entre les pixels. Un effet des plus basique serait par exemple le décalque: une photo de mickey "décalquée" sur une autre texture.

Mais tu peux faire des centaines de trucs:

Effet lave:
http://ijaar.com/wp-content/uploads/2009/10/Lava-Shader-Effect.png
Effet displacment map:
http://www.hardwareheaven.com/reviews/visiontekx800pro/ATIHTMLPAGES/mapping.jpg
ça peut s'appliquer à l'image entière, ici un effet "glass"
http://blogs.msdn.com/blogfiles/jgalasyn/WindowsLiveWriter/AndnowforsomethingWPFthatscompletelydiff_F553/image_thumb.png

Un exemple de code: un des shader de DX9 d'orbiter, l'effet "HorizonHaze":

Code: [Select]
HazeVS HazeTechVS(HZVERTEX vrt)
{
    // Zero output.
HazeVS outVS = (HazeVS)0;

    float3 posW = mul(float4(vrt.posL, 1.0f), gW).xyz;
outVS.posH  = mul(float4(posW, 1.0f), gVP);
outVS.tex0  = vrt.tex0;
    outVS.color = vrt.color;
    return outVS;
}


// Horizon haze pixel-shader frg.tex0.y is the altitude. 0.0 = Horizon (ground level) 1.0 = top of atmosphere
//
float4 HazeTechPS(HazeVS frg) : COLOR
{
    //return frg.color * tex2D(Tile0S, frg.tex0);

    //return float4(frg.color.rgb, frg.color.a*frg.tex0.y*frg.tex0.y);
    return float4(frg.color.rgb*(frg.tex0.y+0.30), frg.color.a*frg.tex0.y*frg.tex0.y);
}


technique HazeTech
{
    pass P0
    {
        vertexShader = compile VS_MOD HazeTechVS();
        pixelShader  = compile PS_MOD HazeTechPS();

        AlphaBlendEnable = true;
        BlendOp = Add;
        SrcBlend = SrcAlpha;
        DestBlend = InvSrcAlpha;
        ZEnable = false;
        ZWriteEnable = false;
    }
}

Quote
picto a écrit:
Dernière question, la "normale map" est-elle une map aussi simple à éditer et maîtriser qu'une "bump map" par exemple ?

Beaucoup moins, une bump map c'est comme une height map, un niveau "zéro" à RGB 128,128,128, le plus sombre sera considéré comme un creux, le plus clair comme une bosse. Facile à peindre dessus.

Pour une normal map les trois couleur codent un déplacement du pixel dans les trois dimensions. C'est difficilement peignable à la main et voila le principe:

Tu créé un modèle high res avec pleins de polygones figurant des détails (ou des multimap complexes). Tu exporte la normal map depuis 3dsmax et ça te donne un truc dans le genre: (Ici un bout de la texture normale des nouveau Mmu)



Tu exporte ton modèle mais *simplifié* sans les milliers de polygones en plus et en appliquant la normal map, l'effet de lumière sera appliqué comme si ces polygones existaient.



Voilà M. To, j'espère que c'est clair :)



Message modifié ( 27-11-2012 13:48 )


Offline picto

  • Legend
  • ******
  • Posts: 5013
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #11 - 27 November 2012, 14:33:15
Quote
Voilà M. To, j'espère que c'est clair

Très très clair !
Encore un très bon article !

Le coup de l'export des normales map d'un modèle high res sur un modèle low res, il fallait quand même y penser ! C'est excellent... Du coup, je vois exactement ce que tu as fait à partir du modèle high res du mmu à la fois pour créer les textures puis pour simplifier ensuite au maximum le modèle. Beau boulot !

Ils en ont dans l'citron les programmeurs quand même.

En ce qui concerne les "effets" c'est finalement comme du calque totochope mais que l'on peut appliquer "dynamiquement" au travers de la prog quand on le souhaite au milieu du simu... Je vois... Ce va être un grand pas pour l'aspect visuel d'Orbiter; Si, en plus, Martin est en train de cogiter à une façon de rendre "solides" tous les sols des planètes ce sera un renouveau incroyable pour la création des addons de sols et bases...

Je n'ai plus d'ordinateur... :sad:  Et c'est tant mieux... pis... chsais pas...:badsmile:

Merci pour toutes ces esplicaziones Mister Stooph

J'ai tout compris...







Message modifié ( 27-11-2012 15:35 )

Pic

Offline picto

  • Legend
  • ******
  • Posts: 5013
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #12 - 01 December 2012, 23:01:17

J'ai une question sans doute idiote, mais...
Puisque tout ceci commence à rapprocher sensiblement Orbiter de l'affichage d'un FsX,
peut-on espérer voir un jour des animations max importées directement dans Orbiter ?
Genre une torsion d'aile par exemple ?


Pic

Offline orbitermat

  • Legend
  • ******
  • Posts: 2257
  • Country: Canada ca
  • Karma: 18
  • Man must explore.
Reply #13 - 01 December 2012, 23:07:17
Question:

Est-ce que tous les add-ons fonctionnent sur ces deux trucs?

Merci!



Offline SolarLiner

  • Global Moderator
  • Legend
  • *****
  • Posts: 2767
  • Country: France fr
  • Karma: 54
  • a été remercié par Le Créateur
Reply #14 - 01 December 2012, 23:12:39
Les clients graphiques ne font que "montrer" les objets dans Orbiter. C'est comme différentes caméras: quoi que tu fasse, ta qualité sera toujours médiocre avec unne webcam, tandis qu'une caméra Full HD ou même un 4k (utilisées pour le cinéma) te donnera un résultat parfait (enfin, si tu sait t'en servir :))

Animer une torsion d'aile reste relativement facile, mais c'est après pour faire suivre le reste des animations étant sur l'aile elle-même que ça se complique.

Pour revenir aux clients graphiques, j'aimerai bien voir ce que ça donne Orbiter avec toute la puissance de D3D11 ! (genre Lens Flares, réflexions, bloom, motion blur, etc ...)



Offline picto

  • Legend
  • ******
  • Posts: 5013
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #15 - 01 December 2012, 23:20:07
Merci, je me doutais bien que ce n'est pas si simple.
Il ne reste plus qu'a demander à un programmeur de talent de créer une classe pour les vessels qui permette d'importer des animations complexes depuis max... :badsmile:


Pic

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 14991
  • Karma: 165
  • Hein, quoi !?
    • FsPassengers
Reply #16 - 02 December 2012, 02:48:14
Quote
orbitermat a écrit:
Est-ce que tous les add-ons fonctionnent sur ces deux trucs?

Malheureusement non le problème étant surtout pour les "advanced addons" qui tripotent les meshs
genre le DGIV par exemple. Pour les addons basique aucun problème.

En cause deux choses:
-Une fonction "GetMesh" qui permet de tripoter le mesh, changer les textures qui est à changer en "GetDevMesh"
-Les affichage de texte avec GDI, un truc windows qui date des dinosaures et n'est même plus présent dans
les ordinateurs récents.

La mise à jour n'est pas démente, avec un peu d'habitude ça prend 20mn par addon, faut juste changer toutes les fonctions GDI par leurs alter-ego en sketchpad et le GetDevMesh qui marche pareil.

Maintenant à part le DGIV UMMu qui sont en cours tout les advanced addons sont compatible je crois.



Message modifié ( 03-12-2012 00:40 )


Offline Fast_toche

  • Legend
  • ******
  • Posts: 1329
  • Country: France fr
  • Karma: 34
  • Time is nothing...
Reply #17 - 05 December 2012, 19:55:20
Ce fil est à classer en hautes priorités!!!!
Immédiatement .



Offline PePe

  • Full Member
  • ***
  • Posts: 98
  • Karma: 3
Reply #18 - 08 December 2012, 08:44:55
Ça a l'air d'enfer, votre truc...

Chez moi ça rend moins bien : D3D11 : pas de plein écran, et de toutes façons Orbiter plante.

En D3D9 ça va bien, sauf que l'onglet "Video" disparaît lorsque je le sélectionne, ce qui fait qu'au lancement je n'ai que la fenêtre de texte du serveur. Mais ça va bien parce que même s'il n'y a pas d'images, déjà ça ne plante pas ! :)

Je suis bien en Beta 111105, et vu ma machine je dois avoir les pré-requis au moins pour le client DX9 (Win7 Pro 64 bits, une carte vidéo compatible DX10...).



Message modifié ( 08-12-2012 08:45 )


Offline Well

  • Legend
  • ******
  • Posts: 2722
  • Karma: 46
    • L'Atelier Wellographique
Reply #19 - 08 December 2012, 09:05:19
J'ai galéré également, pour moi Dx11 n'est tout simplement pas supporté par ma carte graphique.
Pas de plein ecran avec dx11, pas encore supporter.

Grace à l'aide de Dan j'ai réussi à mettre le client dx9, en fait dx9 s'installe sur Une Orbiter 2010 P1 pas sur la nouvelle beta, j'avais fais la même erreurs.

Merci à Dan ^^


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 14991
  • Karma: 165
  • Hein, quoi !?
    • FsPassengers
Reply #20 - 08 December 2012, 11:50:49
Quote
PePe a écrit:
Je suis bien en Beta 111105, et vu ma machine je dois avoir les pré-requis au moins pour le client DX9 (Win7 Pro 64 bits, une carte vidéo compatible DX10...).

Le DX9 c'est uniquement sur la version normal d'Orbiter 2010 (100830) sinon caca !
Le DX11 lui marche uniquement sur la version beta Orbiter 111105 sinon caca !

Et pour DX11 vaut mieux évidemment une carte compatible DX11... sinon... ;)



Message modifié ( 08-12-2012 11:54 )


Offline SolarLiner

  • Global Moderator
  • Legend
  • *****
  • Posts: 2767
  • Country: France fr
  • Karma: 54
  • a été remercié par Le Créateur
Reply #21 - 08 December 2012, 11:54:19
Apparement D3D11 fonctionne parfaitement sunr une carte Dx10 ...



Offline PePe

  • Full Member
  • ***
  • Posts: 98
  • Karma: 3
Reply #22 - 08 December 2012, 11:57:19
Argh, en fait c'était un addon qui faisait tout planter...

Reste à trouver lequel.


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 14991
  • Karma: 165
  • Hein, quoi !?
    • FsPassengers
Reply #23 - 08 December 2012, 12:00:02
Quote
PePe a écrit:
Argh, en fait c'était un addon qui faisait tout planter...
Reste à trouver lequel.

DGIV UCGO et UMMU ne sont pas compatible pour l'instant. Les compatibles vont sortir bientot avec pleins de nouveautés.
OrbiterSound doit être version 4.0 (la dernière)


Offline PePe

  • Full Member
  • ***
  • Posts: 98
  • Karma: 3
Reply #24 - 08 December 2012, 12:03:18
Ahhhh, j'arrivais à la même conclusion après quelques tests.

Merdouille... je ne vole qu'avec le DG4 !

Je veux bien beta tester si c'est possible... c'est en gros ça ou alors je repasse en DX7 jusqu'à la sortie : le DG4 est ma monture quotidienne. ;)