Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2010, 12:04   #1
gheorge1989
 
Регистрация: 25.10.2009
Сообщений: 7
По умолчанию Анимация в 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_AMBIE NT,globalAmbien t);
glLightfv(GL_LIGHT0,GL_POSITION,lig ht_position);
glLightfv(GL_LIGHT0,GL_AMBIENT,ligh t_ambient);
glLightfv(GL_LIGHT0,GL_DIFFUSE,yell ow_light);
glLightfv(GL_LIGHT0,GL_SPECULAR,yel low_light);

glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
}

void display(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPT H_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;
}
gheorge1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимация Belazur Мультимедиа в Delphi 3 09.12.2009 22:36
анимация Juffin Общие вопросы Delphi 2 26.05.2009 20:04
анимация волшебная Общие вопросы Delphi 0 17.12.2008 21:01
Анимация SanekIrk Общие вопросы Delphi 2 15.08.2008 21:57
Анимация SanekIrk Общие вопросы Delphi 11 08.08.2008 15:24