[ Malena perl @ 13.02.2006. 00:35 ] @
Radi se o grafiksu, kada jedan crtez (viewport) treba da poredjam u 10 kolone, 10 reda. Sledeći treba da svaki drugi viewport preokrenem naglavacke, znaci, prvi redovno, drugi 180 stepeni okrenut CCW. Treca funckija treba da postavi viwport na sredinu i da se povecava (Zoom-ira) sve dok nije velicina prozora. Cetvrta treba da mi smanjuje sliku. Napravila sam sve ali tri funcije mi nedostaju. Da li ima neko ideju? #include <windows.h> #include <gl/Gl.h> #include <gl/glut.h> #include <fstream> #include <iostream> using namespace std; void myInit(void) { glClearColor(1.0,1.0,1.0,0.0); glColor3f(0.0f, 0.0f, 0.0f); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0, 400.0, 0.0, 400.0); } void drawPolyLineFile(char * fileName) { ifstream in_stream; in_stream.open(fileName); if(in_stream.fail()){ cout << "Error Opening the Inputfile" ; return; } GLint numpolys, numLines, x ,y; in_stream>> numpolys; for(int j = 0; j <numpolys; j++) { in_stream>> numLines; glBegin(GL_LINE_STRIP); for (int i = 0; i <numLines; i++) { in_stream>> x >> y; glVertex2i(x, y); } glEnd(); } glFlush(); in_stream.close(); } void drawCrtezTile(int N){ glClear (GL_COLOR_BUFFER_BIT); char * name = „crtez.dat” ; for (int i=0; i<N; i++) for (int j=0; j<N; j++){ int L=640/N; glViewport (i*L, j*L, L, L); drawPolyLineFile(name); } } void drawCrtezFlipTile(int N){ } void drawZoom (){ } void drawZoomOut(){ } void myDisplay(void) { // drawCrtezTile(8); // drawCrtezFlipTile (10); // drawZoom(); // drawZoomOut(); } void main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(400,400); glutInitWindowPosition(100, 150); glutCreateWindow(„Crtez”); glutDisplayFunc(myDisplay); myInit(); glutMainLoop(); } Hvala |