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
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
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"
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)
@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.
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.
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 :
Je ne dis pas que c'est parfait, mais c'est pour donner des id�es ...
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;
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)
Partager