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++Builder Discussion :

OpenGl et C++ Builder (XE6)


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 481
    Par d�faut OpenGl et C++ Builder (XE6)
    Bonjour,
    quelqu'un a-t-il utilis� OpenGl avec C++ Builder ?
    Suffit-t-il d'ajouter les fichiers *.lib et *.h n�cessaire,
    ou faut-il �galement charger un logiciel suppl�mentaire ?
    Et dans ce cas quel logiciel ?
    Merci

  2. #2
    Expert confirm�
    Avatar de Mat.M
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 538
    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 538
    Par d�faut
    bonsoir oui les fichiers .lib suffisent et sans doute on peut se passer des fichiers .h
    Il faut cr�er un projet win32 et non utilisant la VCL
    Mais utiliser la VCL avec Open GL �a doit �tre possible �galement ; chercher sur Internet il doit exister certainement des "wrappers"

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 481
    Par d�faut
    Citation Envoy� par Mat.M Voir le message
    bonsoir oui les fichiers .lib suffisent et sans doute on peut se passer des fichiers .h
    Il faut cr�er un projet win32 et non utilisant la VCL
    Mais utiliser la VCL avec Open GL �a doit �tre possible �galement ; chercher sur Internet il doit exister certainement des "wrappers"
    Merci,
    dois je comprendre qu'il me suffirait d'inclure les 2 ou 3 fichiers lib pour pouvoir utiliser OpenGl ?
    Je vais essayer et vous dirais ce qui se passe.

  4. #4
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France, Haute Savoie (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Analyste-programmeur
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par d�faut
    Citation Envoy� par Mat.M Voir le message
    Il faut cr�er un projet win32 et non utilisant la VCL
    Qu'est ce que tu veux dire ? Je ne comprends pas ?
    Du temps o� je faisais des projets opengl, mes projets �taient VCL (sous delphi, mais c'est pareil).
    L'urgent est fait, l'impossible est en cours, pour les miracles pr�voir un d�lai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"�crivez dans un fran�ais correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  5. #5
    Expert confirm�
    Avatar de Mat.M
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 538
    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 538
    Par d�faut
    @Lung avec Delphi ou C++ Builder on peut faire des projets soit avec la VCL pour g�rer les fen�tres et autres classes soit des programmes win32 "nus" o� il faut tout g�rer.

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 481
    Par d�faut
    Il est en effet possible d'utiliser OpenGl avec un projet VCL.
    Comme Lung a utilis� OpenGl, je lui demanderai probablement une aide.
    Le remerciant par avance.

  7. #7
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 704
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France, Haute Savoie (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Analyste-programmeur
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 704
    Par d�faut
    Je m'�tais content� d'ajouter les biblioth�ques utiles dans les uses.

    Sinon, voici un exemple d'initialisation (c'est du delphi) dans un de mes vieux projet :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
       InitOpenGL(FormGL.Canvas.Handle, 32, True);
     
    ...
     
    function TFormGL.InitOpenGL(const DC: HDC; const nColorBits: Integer; const bDoubleBuffer, bAffMsg: Boolean): Boolean;
    var
       PFD: TPixelFormatDescriptor;
       nPixelFormat: Integer;
       szErreur: String;
    begin
       // Initialisation de la structure d'information sur le PFD.
       FillChar(PFD, SizeOf(PFD), 0);
       with PFD do
       begin
          nSize := Sizeof(TPixelFormatDescriptor);
          if bDoubleBuffer then
             dwFlags := PFD_DOUBLEBUFFER or PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL
          else
             dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL;
          iPixelType := PFD_TYPE_RGBA;
          nVersion := 1;
          cColorBits := nColorBits;
          cdepthBits := 16;
          cRedBits := 0;
          cRedShift := 0;
          cGreenBits := 0;
          cGreenShift := 0;
          cBlueBits := 0;
          cBlueShift := 0;
          cAlphaBits := 0;
          cAlphaShift := 0;
          cAccumBits := 0;
          cAccumRedBits := 0;
          cAccumGreenBits := 0;
          cAccumBlueBits := 0;
          cAccumAlphaBits := 0;
          cStencilBits := 24;
          cAuxBuffers := 0;
          iLayerType := PFD_MAIN_PLANE;
          bReserved := 0;
          dwLayerMask := 0;
          dwVisibleMask := 0;
          dwDamageMask := 0;
       end;
     
       // Récupération du DC passé en paramètre, dans une variable Globale.
       _hDCGlobal := DC;
     
       // Choix du PFD adapté pour le DC reçu en paramètre.
       nPixelFormat := ChoosePixelFormat(DC, @PFD);
     
       // Vérification si l'index du PFD supporté à été trouvé.
       Result := (nPixelFormat <> 0);
       if not Result Then
       begin
          szErreur := 'Erreur PFD :  ' + SysErrorMessage(GetLastError);
          ...
          Exit;
       end;
     
       // Vérification si le PFD trouvé peut être appliqué sur le DC.
       Result := SetPixelFormat(DC, nPixelFormat, @PFD);
       if not Result then
       begin
          szErreur := 'Erreur application PFD sur le DC :  ' + SysErrorMessage(GetLastError);
          ...
          Exit;
       end;
     
       // Vérification si OpenGL peut créer la passerelle qui lui permettra de dessiner sur ce DC.
       _GLContext := wglCreateContext(DC);
       Result := _GLContext <> 0;
       if not Result then
       begin
          szErreur := 'Erreur OpenGL (wglCreateContext):  ' + SysErrorMessage(GetLastError);
          ...
          Exit;
       end;
     
       // Vérification si OpenGL peut se servir de ce DC pour dessiner.
       Result := wglMakeCurrent(DC, _GLContext);
       if not Result then
       begin
          szErreur := 'Erreur OpenGL (wglMakeCurrent):  ' + SysErrorMessage(GetLastError);
          ..
          Exit;
       end;
     
       // Test des erreurs OpenGL.
       if TestErreur('Pré-initialisations OpenGL', bAffMsg) then
          _bErreurInit := True;
    end;
    Je ne dis pas que c'est parfait, mais c'est pour donner des id�es ...
    L'urgent est fait, l'impossible est en cours, pour les miracles pr�voir un d�lai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"�crivez dans un fran�ais correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

Discussions similaires

  1. WS REST ODATA en builder XE6
    Par dm38 dans le forum C++Builder
    R�ponses: 0
    Dernier message: 05/05/2015, 14h52
  2. [IDE] Migration d'un projet vers C++ Builder XE6
    Par Irisael dans le forum C++Builder
    R�ponses: 1
    Dernier message: 01/09/2014, 15h17
  3. L edition starter de c++ builder xe6
    Par cedni dans le forum C++Builder
    R�ponses: 2
    Dernier message: 07/07/2014, 09h26
  4. openGL et c++ builder 6
    Par KalKul dans le forum OpenGL
    R�ponses: 2
    Dernier message: 24/03/2008, 14h13
  5. OpenGL avec C++ Builder
    Par bekkai dans le forum OpenGL
    R�ponses: 1
    Dernier message: 03/03/2006, 21h32

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