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

C# Discussion :

SDL et OpenGL avec C#


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2009
    Messages : 128
    Points : 71
    Points
    71
    Par défaut SDL et OpenGL avec C#
    Bonjour,

    Dans le cadre d'un stage que j'effectue, je dois créer un programme sur C# qui utilise un ensemble de classes et de méthodes qui étaient écrites il y a quelques temps sur C++. Je viens de commencer le stage, donc j'avoue que je ne comprends pas encore très bien pourquoi ils veulent absolument que ça soit en C#.
    Bref, ce n'est pas notre problème. Les méthodes du programme en C++ utilisent des méthodes des librairies SDL et OpenGl.

    J'ai téléchargé des framework comme SDL DotNet, etc. J'ai fait attention de les ajouter dans les références. j'y fais appel avec "using....". Mais toujours, dans le build il ne reconnait pas des méthodes ou types du genre:

    GLuint
    OnMouseMotion
    SDL_MouseMotionEvent
    SDL_Event
    SDL_INIT_VIDEO

    etc.

    Quelqu'un sait SVP comment résoudre ce problème?

    Merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    je pense que c'est les méthodes des librairies pour c++ faut que tu trouves les méthodes similaire dans ta librairie .net

  3. #3
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 493
    Points
    5 493
    Par défaut
    Bonjour.

    Il faut comprendre que OpenGl et SDL sont des biliothèques traditionnelles ("c" calling convention). Elles ne peuvent donc pas être utilisées directement en dotnet, qui est un environnement managé. Il faut pour cela passer par du P/Invoke (se documenter un peu pour savoir ce que cela implique serait bienvenu, surtout si c'est pour un stage : j'imagine qu'on vérifiera tes connaissances là-dessus).

    Heureusement pour toi, OpenGL est assez largement utilisée pour que des gens aient déjà fait ce travail à ta place. Il existe désormais un wrapper officiel pour OpenGL et OpenAL mais je ne le connais pas. Et il en existe un autre, très connu, qui existe depuis plusieurs années et que j'ai déjà utilisé, qui couvre OpenGL, OpenAL, SDL et d'autres encores : csgl (anciennement Tao.Framework, Tao.OpenGL, etc)

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par DonQuiche Voir le message
    Bonjour.

    Il faut comprendre que OpenGl et SDL sont des biliothèques traditionnelles ("c" calling convention).
    Là tu fais une légére confusion.

    Si la première partie de ta phrase est exacte, pour la calling convention c'est faux.

    OpenGL est conçue pour pouvoir être utilisé depuis n'importe quel langage "traditionnel" (C, C++ mais aussi Pascal, Delphi, etc ...) et de ce fait, expose ses APIs en convention "pascal" ou "__stdcall" (comme toutes les APIs windows, par exemple), pas en "c calling convention" que, en dehors du C/C++, presque aucun langage n'est en mesure d'exploiter. (.Net le peut d'ailleurs mais c'est plutot rare).

    La spécificité de la C Calling Convention est de permettre la déclaration d'un nombre de paramètres variable(push des paramètres de droite à gauche)
    , ce que ne permet pas la convention standard (push des paramètres de gauche à droite). L'autre différence est que l'appelant est responsable de la restauration de la pile.

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2009
    Messages : 128
    Points : 71
    Points
    71
    Par défaut
    Merci pour toutes ces réponses

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

Discussions similaires

  1. Afficher du texte avec SDL et OpenGL
    Par moejul dans le forum SDL
    Réponses: 4
    Dernier message: 12/04/2011, 11h07
  2. SDL et openGL avec dev
    Par robofox dans le forum Dev-C++
    Réponses: 0
    Dernier message: 26/05/2009, 00h06
  3. probleme Texturage en openGL avec SDL
    Par bahamutdragoon dans le forum SDL
    Réponses: 0
    Dernier message: 24/05/2009, 14h36
  4. Sudoku en c++ avec SDL ou OpenGL un gros probleme!
    Par DOC doc doc dans le forum C++
    Réponses: 12
    Dernier message: 22/03/2007, 16h13
  5. [debutant]opengl avec sdl sous visual c++
    Par bourinator dans le forum OpenGL
    Réponses: 1
    Dernier message: 13/06/2005, 11h24

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