Я работаю над примером OpenGL из книги по программированию на Qt. Почти все работает нормально, но масштаб по умолчанию, кажется, далеко. Я должен был видеть довольно стандартный куб, но вместо этого я вижу это.
Мой код для куба выглядит так:
glBegin(GL_QUADS);
//top face
qglColor(m_faceColors[0]);
glVertex3f(-m_cubeSize, m_cubeSize, -m_cubeSize);
glVertex3f(m_cubeSize, m_cubeSize, -m_cubeSize);
glVertex3f(m_cubeSize, m_cubeSize, m_cubeSize);
glVertex3f(-m_cubeSize, m_cubeSize, m_cubeSize);
// left face
qglColor(m_faceColors[1]);
glVertex3f(-m_cubeSize, -m_cubeSize, -m_cubeSize);
glVertex3f(-m_cubeSize, m_cubeSize, -m_cubeSize);
glVertex3f(-m_cubeSize, m_cubeSize, m_cubeSize);
glVertex3f(-m_cubeSize, -m_cubeSize, m_cubeSize);
И так далее ...
Я не называю никаких странных слов о glScalef. Мой resizeGL () выглядит так:
void GLWidget::resizeGL(int width, int height)
{
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
m_width = (height>0) ? (GLfloat)width/height : 1;
glOrtho(-width, +width, -1.0, 1.0, -2, 2);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
m_cubeSize равно 1,0
В любом случае, когда я делаю это в функции draw ():
glScalef(275, 0.5, 0.5);
Я вижу это (выглядит правильно):
Кто-нибудь знает, почему масштаб по умолчанию будет таким маленьким? Я делаю именно то, что написано в книге, но я действительно запутался. Я уже довольно много работал с OpenGL (с Glut), но я впервые использую Qt в качестве оболочки.