1. Préface
Le dessin des graphiques Delphi peut être complété entre glBegin() et glEnd(). Le code du cadre de dessin peut utiliser le code d'initialisation du dessin OpenGL2d sous Delphi. Pour un contenu spécifique, veuillez vous référer à ce site //www.VeVB.COm/article. /52141.htm . La partie modifiée est le contenu de la fonction Draw.
2. Dessinez des points
Utilisez la fonction glPointSize pour spécifier le diamètre des points rastérisés. La valeur par défaut est 1.0, qui ne fonctionne que sous GL_POINTS. Nous étudierons l'anti-aliasing et d'autres fonctions plus tard. Utilisez glBegin(GL_POINTS) pour indiquer à OpenGL de dessiner des points. Le paramètre GL_POINTS représente des points, et il existe d'autres paramètres, tels que tracer des lignes GL_LINES, etc. Pour plus de détails, veuillez vous référer au code source de l'unité OpenGL. Les fonctions glBegin() et glEnd() sont décrites comme suit :
Prototype de fonction :
void glBegin (mode GLenum)
vide glEnd (vide)
Description du paramètre :
mode : le type de primitive créée. Peut être les valeurs suivantes
GL_POINTS : traite chaque sommet comme un point. Le sommet n définit le point n et un total de N points sont dessinés.
GL_LINES : traitez chaque sommet comme un segment de ligne indépendant. Un total de n segments de ligne sont définis entre les sommets 2n-1 et 2n, et un total de N/2 segments de ligne sont dessinés.
GL_LINE_STRIP : dessinez un ensemble de segments de ligne connectés en séquence du premier sommet au dernier sommet. Les nième et n+1 sommets définissent le segment de ligne n. Un total de n-1 segments de ligne sont dessinés.
GL_LINE_LOOP : dessinez un ensemble de segments de ligne connectés en séquence du premier sommet au dernier sommet, puis le dernier sommet est connecté au premier sommet. Les nième et n+1 sommets définissent le segment de ligne n, et un total de n ligne. les segments sont dessinés.
GL_TRIANGLES : Traitez chaque sommet comme un triangle indépendant. Les sommets 3n-2, 3n-1 et 3n définissent le n-ème triangle. Un total de N/3 triangles sont dessinés.
GL_TRIANGLE_STRIP : Dessinez un ensemble de triangles connectés. Pour un nombre impair n, les sommets n, n+1 et n+2 définissent le n-ème triangle ; pour un nombre pair n, les sommets n+1, n et n+2 définissent le n-ème triangle. Un total de N-2 triangles sont dessinés.
GL_TRIANGLE_FAN : Dessinez un ensemble de triangles connectés. Le triangle est déterminé par le premier sommet et les sommets donnés par la suite définissent le n-ème triangle. Un total de N-2 triangles sont dessinés.
GL_QUADS : dessine un ensemble distinct de quadrilatères composé de quatre sommets. Les sommets 4n-3, 4n-2, 4n-1 et 4n définissent le nième quadrilatère. Dessinez un total de N/4 quadrilatères
GL_QUAD_STRIP : Dessine un ensemble de quadrilatères connectés. Chaque quadrilatère est défini par une paire de sommets suivi d'une paire de sommets donnée. Les sommets 2n-1, 2n, 2n+2 et 2n+1 définissent le n-ième quadrilatère, et un total de N/2-1 quadrilatères sont dessinés.
GL_POLYGON : Dessinez un polygone convexe. Les sommets 1 à n définissent ce polygone.
Description de la fonction :
Les fonctions glBegin et glEnd définissent la définition en virgule fixe d'un ou plusieurs groupes de primitives.
Le code source pour implémenter les points de dessin est le suivant :
procédure TForm1.Draw;begin // Efface le tampon glClear(GL_COLOR_BUFFER_BIT ou GL_DEPTH_BUFFER_BIT); // Définit la taille en points, elle ne peut pas être comprise entre glBegin et glEnd glPointSize(10); // Dessine des points // Définit la taille des points. point Couleur glColor3f(1, 0, 0); Dessiner des points glVertex2f(50, 50); glColor3f(0, 1, 0); glVertex2f(100, 50); glColor3f(0, 0, 1); glVertex2f(150, 50); Échangez le contenu du double tampon, qui copiera les graphiques qui viennent d'être dessinés à l'écran. fin;
glColor3f() est utilisé pour dessiner la couleur du point, glVertex2f est utilisé pour dessiner la position du point.
Cliquez ici pour télécharger le code complet