跳转到内容

OpenGL 编程/基础/变换

来自 Wikibooks,开放世界中的开放书籍

为了绘制更复杂的二维和三维图形,我们应该了解什么是变换。变换使您能够在窗口中移动物体,以及旋转和缩放它们。

平移允许您在二维场景中向上、向下、向左和向右绘制物体。(当我们进入三维时,您也将使用深度坐标进行绘制。)就像我们定位点和线一样,我们在场景中进行平移,以准备在该位置绘制物体。

平移是使用

glTranslatef(xTranslation, yTranslation, zTranslation);

让我们通过编辑基本 OpenGL 模板的显示函数来演示平移是如何工作的。

void display() {
       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
       glColor3f(0.0f, 0.0f, 0.0f);
       glTranslatef(0.5f, 0.5f, 0.5f);
       glutSolidTeapot(0.25);
       glutSwapBuffers();
}

在这里,我们使用 glColor3f 将颜色设置为黑色,然后向上平移 0.5,向右平移 0.5。(我们还没有讨论太多关于 Z 的内容,所以我们现在就保留为 0.0。)结果是在屏幕的右上角绘制了一个茶壶。

华夏公益教科书