Affichage de quadrilatères et polygones
Ce programme affiche une liste de quadrilatères en géométrie bidimensionnelle. Il est possible de modifier la position/couleur des vertices, le type de quadrilatères, ainsi que le modèle d’interpolation des couleurs.
Programme : demoGLUT/demo3.cpp
Sources :demoGLUT/glut-demos-src.zip
Exécutables pour Windows :demoGLUT/glut-demos-win32exe.zip
#include "demo.h" /********************************************************************* * AUTOGENERATED CODE *********************************************************************/ #include "quads.hpp" /********************************************************************* * GUI DESIGN *********************************************************************/ SCENE(Scene,quadsDisplay,NULL); CONTROL(Control,quadsLines); SPLIT(Split,1,0.5,&Control,&Scene); /********************************************************************* * MAIN PROGRAM *********************************************************************/ int main(int argc,char *argv[]){ int a=800,b=600,x,y; glutInit(&argc,argv); x=glutGet(GLUT_SCREEN_WIDTH); y=glutGet(GLUT_SCREEN_HEIGHT); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_MULTISAMPLE); glutInitWindowPosition((x-a)/2,(y-b)/2); glutInitWindowSize(a,b); createWindow(&Split,"OpenGL demo"); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); glutMainLoop(); return 0; }

Pour information:
Le code original qui a été traduit par le programme convert:

int i; float Vertex[8][2]={ {#f-1:+0.0:1#,#f-1:+0.0:1#}, {#f-1:-0.5:1#,#f-1:+0.5:1#}, {#f-1:+0.0:1#,#f-1:+0.9:1#}, {#f-1:+0.5:1#,#f-1:+0.4:1#}, {#f-1:+0.9:1#,#f-1:+0.1:1#}, {#f-1:+0.7:1#,#f-1:-0.8:1#}, {#f-1:+0.3:1#,#f-1:-0.8:1#}, {#f-1:-0.7:1#,#f-1:-0.3:1#}, }; float Color[8][3]={ {#f0:0:1#,#f0:0:1#,#f0:1:1#}, {#f0:0:1#,#f0:1:1#,#f0:0:1#}, {#f0:1:1#,#f0:0:1#,#f0:0:1#}, {#f0:1:1#,#f0:1:1#,#f0:0:1#}, {#f0:1:1#,#f0:0:1#,#f0:1:1#}, {#f0:0:1#,#f0:1:1#,#f0:1:1#}, {#f0:1:1#,#f0:1:1#,#f0:1:1#}, {#f0:0.5:1#,#f0:0.5:1#,#f0:0.5:1#} }; glClear(GL_COLOR_BUFFER_BIT); glShadeModel(#eGL_SMOOTH:GL_FLAT#); if (#e0:1#) glEnable(GL_POLYGON_SMOOTH); else glDisable(GL_POLYGON_SMOOTH); glBegin(#eGL_QUADS:GL_QUAD_STRIP:GL_POLYGON#); for (i=0;i<8;i++){ glColor3fv(Color[i]); glVertex2fv(Vertex[i]); } glEnd(); glFlush(); glutSwapBuffers();
Dernière modification le 18/3/2010
Ce document a été traduit de LaTeX par HeVeA