«Прошел» интуитовский курс алгоритмических основ 3d-графики, правда, запомнил не много. Читал суперкнигу, казалось, что всё понимаю. Дошел уже до кубических текстур, попробовал с нуля сделать что-нибудь, не заглядывая в примеры. Не получилось. Вращающийся треугольник вращается вокруг «камеры»(я уже знаю, что это понятие некорректно, но мыслить матрицами (пока?) не получается). Попробовал добавить pushMatrix и popMatrix - никакого эффекта.
Нашел способ на rsdn(переместить GL_MODELVIEW в точку, вокруг которой будет поворот, повернуть, вернуться в исходную) - не понял, что это значит(зачем перемещаться туда и обратно), но решил применить по принципу «это сильное колдунство». В результате треугольник просто попал в плоскость отсечения и все вообще пропало.
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
rot+=3;
//glTranslatef(0,0,12);
glRotatef(rot,0.0,1.0,0.0);
glColor3f(0.8,0.5,0);
glBegin(GL_TRIANGLES);
glVertex3f(1.0,1.0,-12.0);
glVertex3f(-1.0,1.0,-12.0);
glVertex3f(0.0,-1.0,-12.0);
//glTranslatef(0.0,0.0,-12.0);
glEnd();
glPopMatrix();
glutSwapBuffers()
2)Как перестать думать в терминах 3d редактора(камера, глобальные/локальные координаты объекта - всё это аналогично обычному, не математическому миру) и начать понимать матрицы, а не просто, зажмурившись, применять функции на ощупь? В смысле, с какой книги начать. Или это чувство либо есть, либо нет от рождения и ничего не сделать?