Помогите с зачетом в OpenGL
Помогите с зачетом в opengl на Microsoft Visual C++ 6.0, надо сдать завтра ,надо из данного кода сделать так чтобы происходила анимация сферы надо использовать функцию idlefunc помогите кто может,вод код программы
#include <GL/glut.h> const float leftside=-5,rightside=5,downside=-5,upside=5,nearside=5,farside=-5; float radius=1; int angle=0; /* для вращения */ void init(void) { GLfloat globalAmbient[]={0.1,0.1,0.1,1.0}; GLfloat light_position[]={1.0,1.0,1.0,0.0}; GLfloat light_ambient[]={0.0,0.0,0.0,1.0}; GLfloat yellow_light[]={1.0,1.0,1.0,1.0}; glLightModelfv(GL_LIGHT_MODEL_AMBIENT,globalAmbien t); glLightfv(GL_LIGHT0,GL_POSITION,light_position); glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient); glLightfv(GL_LIGHT0,GL_DIFFUSE,yellow_light); glLightfv(GL_LIGHT0,GL_SPECULAR,yellow_light); glEnable(GL_COLOR_MATERIAL); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_DEPTH_TEST); } void display(void) { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); /* áåëàÿ îñü */ glBegin (GL_LINES); glVertex3f(0.0, 2.0, 0.0); glVertex3f(0.0, -2.0, 0.0); glEnd (); glColor3f(0.0, 1.0, 0.0); /* çåëåíàÿ çåìëÿ */ glutSolidSphere (radius,50,50); glutSwapBuffers(); } void reshape(int width, int height) { glViewport(0,0,width,height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(leftside,rightside,downside,upside,farside ,nearside); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } int main(int argc,char **argv) { glutInit(&argc,argv); glutInitDisplayMode (GLUT_DOUBLE|GLUT_RGB); glutInitWindowPosition(100,100); glutInitWindowSize(500,500); glutCreateWindow("âðàùåíèå çåìëè"); init(); glutDisplayFunc(display); glutReshapeFunc(reshape); glutMainLoop(); return 0; } |
Часовой пояс GMT +4, время: 05:09. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.