经过Google搜索很多,我只有这个空间来问你下一个问题。在OpenGL 3.x中如何做到这一点?
我想编写一个简单的OpenGL 3.x的样品,以了解如何工作的新的可编程管线(着色器)。这个tutorial真的很有用(并且使用glut来保持简单,正如你所看到的)并且作为一个出发点。但是,噩梦和问题开始当我试图使用预定义的对象过剩(即茶壶),并试图在本地方式像旧的和过时的方式(移动或旋转glScalef
,glTranslatef
,glRotatef
,glLoadIdentity
,glMultMatrixf
, glPushMatrix
和glPopMatrix
...),但现在对我来说是不可能的。
如果我试图做的是使用一个方便的转换矩阵配有翻译,它在全球移动整个场景(两个或两个以上的物体转动,不只有一个,即),而不是本地的。我发现这个类似question这里,但仍处于一片混乱......(只与维也纳组织工作?场景中的每个对象都必须有一个独特的着色器? ...)
我不知道我是否已经清楚解释。我发现关于这个主题的每个教程总是使用单个对象。如果有人知道任何写得很好的教程或示例代码来解释这一点,我将非常感谢您的帮助。
你'glPushmatrix();的glTranslatef();画(); glPopMatrix();'? (当matrixmode设置为'GL_MODELVIEW')当然,正如你所指出的,这是不推荐的方式。 – Nobody