Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: alex19921992 (09.03.2007 в 07:47) >попробуй перед вышеприведенным кодом та строка уже была >нет но ведь в играх дофига источников света, а не восемь, как тут.. >писать самому а нет ли готовых движков? -------------------- может, попробуете отладить: надо чтоб в комнате свет падал с потолка комнаты на пол.
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); // это уже давно стояло glTranslated(0,0,-3.5); //glRotated(rot1,0,1,0); //glRotated(rot2,1,0,0); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_COLOR_MATERIAL); glEnable(GL_DEPTH_TEST); float dir[]={0,-1,0}; //настраиваем источник света float pos[]={0,1,0,1}; float sp[4] = {1,1,1,1}; float color[4]={1,1,1,0}; glLightfv(GL_LIGHT0, GL_POSITION, pos); glLightfv(GL_LIGHT0, GL_SPECULAR, sp); glLightfv(GL_LIGHT0, GL_DIFFUSE, color); glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 45.0); glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, dir); glBegin(GL_TRIANGLES); //тут мы рисуем комнату glColor3d(1,0,0); glVertex3d(-1,1,1); glVertex3d(-1,-1,-1); glVertex3d(-1,-1,1); glVertex3d(-1,1,1); glVertex3d(-1,-1,-1); glVertex3d(-1,1,-1); glColor3d(0,1,0); glVertex3d(1,1,1); glVertex3d(1,-1,-1); glVertex3d(1,-1,1); glVertex3d(1,1,1); glVertex3d(1,-1,-1); glVertex3d(1,1,-1); glColor3d(0.5,0.5,0); glVertex3d(-1,-1,-1); glVertex3d(1,1,-1); glVertex3d(1,-1,-1); glVertex3d(-1,-1,-1); glVertex3d(1,1,-1); glVertex3d(-1,1,-1); glColor3d(0.5,0,0.5); glVertex3d(1,1,1); glVertex3d(-1,1,-1); glVertex3d(-1,1,1); glVertex3d(1,1,1); glVertex3d(-1,1,-1); glVertex3d(1,1,-1); glColor3d(0,0.5,0.5); glVertex3d(1,-1,1); glVertex3d(-1,-1,-1); glVertex3d(-1,-1,1); glVertex3d(1,-1,1); glVertex3d(-1,-1,-1); glVertex3d(1,-1,-1); glEnd();
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: