| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
GLUT-ikkunatheril 27.01.02 03:44 Pohja käytettäväksi OpenGL/GLUT -ohjelmissa.
//Luo tuplabufferoidun Glut ikkunan. //ESC sulkee ohjelman, f menee fullscreeniin ja F palaa tavalliseen. //Muista Linkittää Glut! #ifdef WINDOWS #include <windows.h> //Koita säilyttää portattavuus #endif #include <GL/glut.h> //Purkkaviritys ikkunan koon säilyttämiseksi liikuttaessa //fullscreen modeen ja takaisin int gWinwidth = 640; int gWinheight = 480; unsigned char gFullscreen = 0; void resize(GLsizei width, GLsizei height){ if(!gFullscreen){ gWinwidth = width; gWinheight = height; } glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, (GLdouble)width/(GLdouble)height, 0.1, 100.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void init(void){ glClearColor(0.0,0.0,0.0,0.0); glShadeModel(GL_SMOOTH); glClearDepth(1.0); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); } void display(void){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); //Piirtorutiinit tähän glutSwapBuffers(); } void keyboard(unsigned char key, int x, int y){ switch(key){ case 27: //ESC exit(0); break; case 'f': gFullscreen = 1; glutFullScreen(); break; case 'F': gFullscreen = 0; glutReshapeWindow(gWinwidth, gWinheight); break; } } int main (int argc, char* argv[]){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA); glutInitWindowSize(gWinwidth, gWinheight); glutCreateWindow(argv[0]); init(); glutDisplayFunc(display); glutKeyboardFunc(keyboard); glutReshapeFunc(resize); glutMainLoop(); return 0; } editoitu: 15:40 23.4.05 stWasm1.0 11:38 20.4.05 Melkein suora kopio http://www.opengl.org/resources/code/basics/samples/accum.c edit-> tosin teit muutaman kivan lisäyksen, joten plussa tulee. |
![]() Haku
|