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

OpenGL Discussion :

Conversion projet openGl c++ vers c#


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Par défaut Conversion projet openGl c++ vers c#
    Bonjour à tous, je viens vous demander des conseils
    J'ai un projet OpenGL à faire en C#.
    Mon objectif est d'intégrer dans un form un fenêtre OpenGL (SimpleOpenGlControl) mais de laisser une partie du form libre pour des boutons, etc.

    -J'utilise pour cela le Tao FrameWork

    Que me conseilleriez-vous comme librairie de fenêtrage pour gérer le fenêtrage OpenGL, la gestion des évènements et le chargement d'image?

    J'ai en fait à la base développé mon projet en c++ avec la librairie glut ( tout marche bien) mais ai des difficultés pour le porter dans mon projet c#.
    J'ai principalement des difficultés à porter la partie glut du code.

    -Je veux texturer avec des images bmp , j'ai entendu parler de DevIl (inclus dans Tao), quelqu'un aurait-il un tuto pour débutant sous la main?

    -Concernant la gestion des évènements clavier, est-il possible de les gérer via cette librairie (glut,..) et non par le form? J'aimerais configurer des touches pour passer en mode full screen, faire des rotations,...

    -Est-il possible de passer en mode full screen uniquement la partie Opengl et pas le form complet?

    Merci d'avance pour vos conseils!

  2. #2
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Par défaut
    Pour le fenêtrage et évènements tu peux peut être regarder du côté de la SFML : http://www.sfml-dev.org/index-fr.php

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Par défaut
    Merci pour le tuyau mais ça m'a l'air assez particulier et il manque d'infos pour sfml en c#. Donc je pense rester sur Glut

    Quelqu'un aurait-il un tuto pour apprendre à utiliser Glut en c#?
    Je comprends pas comment structurer mon code

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Par défaut
    c'est très simple et je dirais sans hésiter OpenTK.
    j'y ai basculé l'ensemble de mes projet c++ sans souci.

    excellente perf, très bonne communauté, ...,

    en c# c'est la solution numéro 1

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Par défaut
    J'ai finalement utilisé le TaoFramework.

    Je voudrais faire ceci:

    -1 form c# avec un bouton, ce bouton premettrait d'ouvrir la fenêtre glut au clic du bouton
    Ca me permettrait de ne plus devoir intégrer la partie opengl dans le form. Je n'aurais ainsi plus de problème concernant la gestion clavier,...

    Comment procéder?
    Classe Form1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                  ... ???
            }
        }
    Classe opengl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    ...
     
    public static void Main(string[] args)
            {
                Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH);
                Glut.glutInitWindowPosition(300, 100);
                Glut.glutInitWindowSize(1024, 768);
                Glut.glutInit();// initialisation de GLUT
     
                winIdMain = Glut.glutCreateWindow("Window"); // creation d'une fenetre
                Glut.glutDisplayFunc(new Glut.DisplayCallback(MainDisplay)); // parametrage de la fonction d'affichage (obligatoire)
                Glut.glutReshapeFunc(new Glut.ReshapeCallback(MainReshape));
                Glut.glutKeyboardFunc(new Glut.KeyboardCallback(SampleKeyboard));
                Glut.glutSpecialFunc(new Glut.SpecialCallback(SampleSpecial));
                Glut.glutMotionFunc(motion);
                Glut.glutIdleFunc(idle);
                /* Sub window creation and setup */
                winIdSub = Glut.glutCreateSubWindow(winIdMain, 5, 5, 800 - 10, 600 / 10);
                Glut.glutDisplayFunc(subDisplay);
                Glut.glutReshapeFunc(subReshape);
                Glut.glutMainLoop(); // boucle principale de GLUT
            }
    Classe Program
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    static class Program
        {
            /// <summary>
            /// Point d'entrée principal de l'application.
            /// </summary>
            [STAThread]
            static void Main(string[] args)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
     
            }
        }
    Comment restructurer ce code au niveau du Main?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Par défaut
    J'ai finalement résolu le problème, opengl intégré dans fenêtre c# via un openglControl !

    Pour ceux que ça intéresserait, voilà la source qui m'a aidée

    http://code.google.com/p/monocam/sou...ect/src/?r=159

Discussions similaires

  1. [OpenGL 1.x] Conversion d'angle atan2 vers angle opengl
    Par yann458 dans le forum OpenGL
    Réponses: 1
    Dernier message: 24/08/2014, 09h42
  2. conversion projet visual fortran vers makefile
    Par gregory2526 dans le forum Fortran
    Réponses: 1
    Dernier message: 18/06/2014, 16h36
  3. Réponses: 1
    Dernier message: 24/11/2012, 10h51
  4. Réponses: 1
    Dernier message: 09/11/2011, 13h59
  5. conversion projet application web vers site web
    Par oclone dans le forum Visual Studio
    Réponses: 0
    Dernier message: 19/02/2009, 14h46

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