• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите с зачетом в OpenGL

  • Автор темы Автор темы LAMPARD
  • Дата начала Дата начала

LAMPARD

Новые
Регистрация
29 Июн 2009
Сообщения
92
Реакции
1
Баллы
0
Помогите с зачетом в 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,globalAmbient);
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;
}
 
Последнее редактирование:
Назад
Сверху