Bonjour,

Je dois faire un petit programme qui doit dessiner un model 3d en openGL
et montrer le resultat dans une fenetre delphi.

Bon, Delphi et OPG ne font pas de probleme je fais mon model 3d et je peux le visualiser.

Maintenant, etape suivante, je veux faire pareil, mais mon model doit etre encapsuler dans un objet.

L'idee est de pouvoir faire varier les parametres de mes models et de les placer dans la scene.

Si il y a un exemple quelque part de ca, j'aimerai bien le voir.
Sinon merci de vos reponses



Mon idee est de pouvoir faire unappel de ce genre dans FormPaint
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
mySaeule.create;
mySaeule.saeuleZeichnen;
Je debute aussi avec Pascal objet d'ou la naivete du code ci-dessous:

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
 
unit MP_Saeule;
 
interface
 
uses
  //...
  OpenGL,   {OpenGL Unit}
  Glut,
  Utils,    {Utils Unit}
  MMSystem;
 
type TMPSaeule = class
        private
 
        public
 
        constructor create;
 
        procedure saeuleSchieben;
        procedure saeuleZeichnen;
        end;  //end class TMPSaeule
 
var
  Temps        :Uint;         {Variable ID pour le Timer}
  DegreRot     :GLfloat;      {Degré de rotation}
  Redim        :GLfloat;      {Coordonnées de translation}
 
implementation
 
 
 
 
 
constructor TMPSaeule.create;
 
   begin
 
   // Init TODO
 
   end;
 
procedure TMPSaeule.saeuleZeichnen;
 
     begin
 
  {glPushMatrix();
          glTranslated( -Redim, 0.0, 0.0 );
          glRotated( -DegreRot, 0, 0, 1 );
          glScaled( Redim, Redim, 1.0 );  }
 
          glBegin( GL_TRIANGLES );
              glColor3f( 30, 0.0, 1.0 ); glVertex2d(  2.0, -2.0 );
              glColor3f( 0.0, 40, 0.5 ); glVertex2d( -2.0, -2.0 );
              glColor3f( 1.0, 1.0, 0.0 ); glVertex2d(  0.0,  2.0 );
          glEnd();
    // glPopMatrix();
 
     // Exécution des commandes OpenGL
     //glFlush;
 
     // On bascule le contenu du tampon
     //SwapBuffers( Canvas.Handle ); 
 
   end;
 
 
 
procedure TMPSaeule.saeuleSchieben;
 
   begin
          // TODO
   end;  //end prc saeuleSchieben
 
 
end.