crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

instant
  опции профиля:
сообщение 7.11.2011, 8:19
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 7.11.2011
Пользователь №: 2984

Спасибо сказали: 0 раз(а)




Репутация:   0  


День добрый.
Программа рисует несколько кубиков и позволяет крутить их вокруг оси. Так же имеется источник света.
Проблема следующая:
При развороте кубика у него продолжает подсвечиваться та же сторона что и была светлой, а не та которая непосредственно сейчас находится вблизи света.
 void GLWidget::paintGL()
 {
     int i;
     qglClearColor(clearColor);
     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     glLoadIdentity();
     glTranslated(0, -15, -60.0);
     i=0;

     while(i<count)
     {i++;
         glTranslated( 0,4, 0.0f);
              glRotatef(y[i],0.0f,1.0f,0.0f);
                    kub[i]=cube(-2,-2,-2,4,4,4);
                    glCallList(kub[i]);
              glRotatef(y[i],0.0f,-1.0f,0.0f);
     }

     glRotatef(angleX,1.0f,0.0f,0.0f);
     glRotatef(angleY,0.0f,1.0f,0.0f);
     GLfloat LightDiffuse[]= { 1.0f, 1.0f, 1.0f, 0.5f };
     GLfloat LightPosition[]= { 0, 0, -20, 1.0f };
     kub[1]=cube(1,1,-21,2,2,2);
     glCallList(kub[1]);
     GLfloat LightAmbient[]= { 0.5f, 0.5f, 0.5f, 1.0f };
     glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);
     glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);
     glLightfv(GL_LIGHT1, GL_POSITION, LightPosition);
     glEnable(GL_LIGHT1);
     glEnable(GL_LIGHTING);


 }
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 29.6.2025, 22:59