User talk:Vinever1


 * 1) include 
 * 2) include 
 * 3) include 
 * 4) include  /*Membolehkan akses ke perpustakaan membanjiri*/

void bitmap_output(int x, int y, char *string, void *font) /*permit teks lukisan pada skrin *//*Bitmap font watak mesti terlebih dahulu ditakrifkan*/ { int len, i;

glRasterPos2f(x, y);                        /*Menentukan koordinat x dan y bagi kedudukan raster semasa */ len = (int) strlen(string); for (i = 0; i < len; i++) { glutBitmapCharacter(font, string[i]);     /*menjadikan watak dalam fon bitmap yang dinamakan*/ } }

void stroke_output(GLfloat x, GLfloat y, char *format,...) { va_list args; char buffer[200], *p;

va_start(args, format);                     /*initializes ap*/ vsprintf(buffer, format, args); va_end(args);		                      /*mengendalikan kembali normal dari fungsi*/ glPushMatrix;	                      /* menolak timbunan matriks ini ke bawah dengan 1 unit */ glTranslatef(x, y, 0);                      /* Pindah ke pusat*/ glScalef(0.005, 0.005, 0.005);              /* to flip the object upside down*/ for (p = buffer; *p; p++) glutStrokeCharacter(GLUT_STROKE_ROMAN, *p); /*menjadikan satu ciri-ciri strok */ glPopMatrix;                               /* pop susunan matriks semasa*/ }

void display(void)            /*menjalankan tugas*/ { glClear(GL_COLOR_BUFFER_BIT); /*Menunjukkan penampan terkini untuk menulis warna*/ bitmap_output(4, 25, "Hi............................................... ",	/*menentukan kedudukan x dan y */   GLUT_BITMAP_TIMES_ROMAN_24); /* 24-point Times New Roman berkadar jarak font. */													 bitmap_output(30, 210, " 1010101001000110101010010100111 ",	/*menentukan kedudukan x dan y */					    GLUT_BITMAP_9_BY_15);	/*Fon lebar tetap dengan pemasangan setiap watak dalam  9 sebanyak 15 pixel segi empat tepat. */														     bitmap_output(4, 560, ".......................................thank you",/*menentukan kedudukan x dan y */    GLUT_BITMAP_HELVETICA_18);	    /* 18-point font Helvetica jarak berkadar.*/

glMatrixMode(GL_PROJECTION);/*Terpakai operasi matriks seterusnya kepada susunan matriks unjuran*/ glPushMatrix;	              /* menolak timbunan matriks ini ke bawah dengan 1 unit */ glLoadIdentity;                    /* menggantikan matriks semasa dengan matriks identiti*/ gluPerspective(40.0, 1.0, 0.1, 20.0); /* menubuhkan satu matriks perspektif unjuran*/ glMatrixMode(GL_MODELVIEW);   /*Terpakai operasi matriks seterusnya kepada susunan matriks modelview*/ glPushMatrix;               /* menolak timbunan matriks ini ke bawah dengan 1 unit*/ gluLookAt (0.0, 0.0, 4.0,              /* mata tengok dari x,y,z */   0.0, 0.0, 0.0,               /* tengah di (0,0,0) */   0.0, 1.0, 0.);               /* atas di arah postivie Y  */ glPushMatrix;		/* menolak timbunan matriks ini ke bawah dengan 1 unit */ glTranslatef(0, 0, -4);      /* Pindah ke pusat*/ glRotatef(75, 0, 1, 0);	/* mendarab matriks semasa oleh matriks putaran */ stroke_output(-3.0, 1.1, "This is"); stroke_output(-5.5, 0, "TTTR 2003"); stroke_output(-3.0, -1.1, " openGL"); glPopMatrix;				/* pop susunan matriks semasa*/ glMatrixMode(GL_MODELVIEW);/*Terpakai operasi matriks seterusnya kepada susunan matriks modelview*/ glPopMatrix;				/* pop susunan matriks semasa*/ glMatrixMode(GL_PROJECTION);/*Terpakai operasi matriks seterusnya kepada susunan matriks unjuran*/ glPopMatrix;				/* pop susunan matriks semasa*/ glMatrixMode(GL_MODELVIEW); /*Terpakai operasi matriks seterusnya kepada susunan matriks modelview*/ glFlush; }

void reshape(int w, int h)/*menentukan bidang pandangan dan menentukan kawasan dalam tetingkap baru*/ { glViewport(1, 0, w, h); /* menentukan transformasi affine x dan y dari peranti koordinat normal kepada koordinat tetingkap*/ glMatrixMode(GL_PROJECTION); /*Terpakai operasi matriks seterusnya kepada susunan matriks unjuran*/ glLoadIdentity;            /* menggantikan matriks semasa dengan matriks identiti*/ gluOrtho2D(0, w, 5, h);      /* menubuhkan dua melihat rantau dimensi */ glScalef(1, -1, 1);          /* to flip the object upside down*/ glTranslatef(0, -h, 0);      /* Pindah ke pusat*/ glMatrixMode(GL_MODELVIEW);  /* mengubah kedudukan kamera saya */ }

int main(int argc, char **argv)                /* main ini fungsi kembali integer*/ { glutInit(&argc, argv);                        /*memanggil pelbagai kaedah di atas*/ glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); /* menetapkan peta warna mod */ glutInitWindowSize(600, 600);                /*menentukan dimensi awal untuk tingkap  */ glutCreateWindow(" Window 32 dos (A 134673)");/*mewujudkan tingkap tingkat atas*/ glClearColor(1.0, 1.0, 1.0, 1.0); /* menentukan nilai-nilai yang jelas bagi penimbal warna */ glColor3f(100, 0, 0);   /* menetapkan warna poligon - format RGB (merah, hijau, biru) */ glLineWidth(3.0);	  /* pemberian minyak suci menentukan lebar garisan rasterized */ glutDisplayFunc(display);/*menetapkan panggil balik paparan tetingkap semasa */ glutReshapeFunc(reshape);/*menetapkan membentuk semula panggil balik untuk tetingkap semasa.*/ glutMainLoop;         /* memasuki acara GLUT pemprosesan gelung*/ return 0;               /* ANSI C memerlukan main untuk kembali int.*/ }