IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Rendu de simulation numérique


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Juin 2002
    Messages : 256
    Points : 121
    Points
    121
    Par défaut Rendu de simulation numérique
    Bonjour,

    Je ne sais pas du tout si c'est le bon endroit pour demander cela, mais au cas où...

    Admettons qu'à la suite d'une simulation numérique, j'obtienne un champs scalaire représenté par une matrice T (genre température), l'élément T(i,j) de la matrice étant la valeur de la solution au point (i,j). Jusqu'à présent, j'utilisais Matlab pour cela, et donc un simple "plot" me donnait un graphique.

    Maintenant, je souhaite transposer mes algorithmes en C++. Pour le rendu graphique, j'ai l'habitude d'utiliser DirectX (mais pas pour des simulations). Mais je crois savoir que, paradoxalement, les objets les plus simples comme des lignes ou des triangles ne sont pas du tout les plus simples à dessiner avec DirectX. Je me trompe?

    Savez-vous si la transposition matrice->meshgrid->rendu est facilement réalisable en DirectX, où bien si c'est vraiment galère ? Sinon, que pensez-vous d'OpenGl pour ces applications ?

    Merci

    Cordialement

    PS : on oubliera les traditionnels conflits sectaires entre OpenGL et DX... Le cadre est ici fixé, et j'ai déjà mon opinion sur les deux API. Je cherche juste la plus adéquate ici.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Tu fait du rendu 3D ou 2D?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Juin 2002
    Messages : 256
    Points : 121
    Points
    121
    Par défaut
    Si possible les deux, mais si je devais choisir, je privilégierai la 3D.

    Merci

    Cordialement

  4. #4
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 380
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 380
    Points : 20 448
    Points
    20 448
    Par défaut
    Citation Envoyé par delire8 Voir le message
    Pour le rendu graphique, j'ai l'habitude d'utiliser DirectX (mais pas pour des simulations). Mais je crois savoir que, paradoxalement, les objets les plus simples comme des lignes ou des triangles ne sont pas du tout les plus simples à dessiner avec DirectX. Je me trompe?
    ?
    Si tu peux accéder à une DirectDrawSurface tu peux facilement dessiner une droite.
    Tu peux même accéder au GDI et utiliser MoveTo LineTo du GDI c'est parfaitement concevable.
    Pour utiliser les fonctionnalités 3d un triangle c'est ni plus ni moins qu'un ensemble de 3 sommets ( vertices )

    Ceci dit tu as un peu raison, sous OpenGL ( je ne suis pas spécialiste d'OpenGL) un simple appel à GLLine ( je crois) et tu peux dessiner une ligne.
    Open GL est bien plus simple à programmer qu'Open GL.
    Sans vouloir aussi rentrer dans le débat je pense qu'Open GL est plus souhaitable que Direct X pour le calcul/simulation rendu/numérique parce que c'est portable donc si tu vises des plateformes Linux..
    Et puis tu veux faire de la simulation numérique mais je suis persuadé que dans ce domaine il existe plusieurs codes sources libres avc Open GL ce qui ne doit pas être le cas avec DX.
    Par contre j'ai l'impression qu'Open GL c'est mal supporté par les cartes graphiques.
    J'ai tenté de faire tourner FlightGear qui tourne avec Open GL en vain sur mon portable ( www.flightgear.org)
    Pour les softs pros qui utilisent Open GL ( des poids-lourds comme Catia ) il faut obligatoirement une carte certifiée

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par delire8 Voir le message
    Bonjour,
    Admettons qu'à la suite d'une simulation numérique, j'obtienne un champs scalaire représenté par une matrice T (genre température), l'élément T(i,j) de la matrice étant la valeur de la solution au point (i,j). Jusqu'à présent, j'utilisais Matlab pour cela, et donc un simple "plot" me donnait un graphique.
    Tu veux dire, un peu comme une heightmap ? Si c'est le cas, n'hésite pas à utiliser les même technique (et la force brute te permettra d'avoir des résultats corrects, étant donné que je doute que la matrice en question soit une matrice 512x512...).

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Juin 2002
    Messages : 256
    Points : 121
    Points
    121
    Par défaut
    C'est ce à quoi j'en suis aussi arrivé, je pense que je vais utiliser OpenGL.

    Effectivement, c'est une heightmap, j'avais juste oublié le terme. Du coup, je vais pouvoir chercher plus efficacement des techniques.

    Merci

    cordialement

  7. #7
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 380
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 380
    Points : 20 448
    Points
    20 448
    Par défaut
    delire8 il est tout de même possible de dessiner des lignes et des primitives avec D3d9 et d3d10, tu as ID3DXLine.
    Va voir sur la section Direct X il y a du code source pour dessiner des lignes et points

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Juin 2002
    Messages : 256
    Points : 121
    Points
    121
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. simulation numérique directe Monte carlo (DSMC)
    Par medoumza dans le forum Fortran
    Réponses: 0
    Dernier message: 23/12/2012, 19h50
  2. Réponses: 10
    Dernier message: 24/01/2011, 09h08
  3. Réponses: 1
    Dernier message: 30/11/2010, 13h55
  4. Réponses: 1
    Dernier message: 30/11/2010, 13h55
  5. Réponses: 4
    Dernier message: 31/05/2007, 10h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo