|
|
发表于 2006-8-26 14:10:00
|
显示全部楼层
Re:2D和3D视角可以同时显示吗
你作的效果有什么不对的吗?
其实不用转化投影矩阵也可以的.
- glViewport (0, 0, (GLsizei)w, (GLsizei)h);
- glMatrixMode (GL_PROJECTION);
- glLoadIdentity ();
- gluPerspective(90.0,w/h,0.5,100.0);
- glMatrixMode (GL_MODELVIEW);
- glClear(GL_COLOR_BUFFER_BIT);
- glColor3f (1.0f, 0.0f, 1.0f);
- glLoadIdentity ();
- //设置视点
- gluLookAt(0.0f, 4.0f, 4.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, 0.0f);
- //绘制模型
- glutWireCube(1.0);
- glPushMatrix();
- //清空矩阵,此时摄像机相当与位于世界坐标的原点, 指向z轴负轴
- glLoadIdentity ();
-
- //0.5为gluPerspective(..)函数中near的值
- glTranslatef(0.0f, 0.0f, -0.5f);
- //绘制说明信息
- glBegin(GL_LINE_LOOP);
- glVertex3f(-1.0f, 1.0f, 0.0f);
- glVertex3f( 1.0f, 1.0f, 0.0f);
- glVertex3f( 1.0f,-1.0f, 0.0f);
- glVertex3f(-1.0f,-1.0f, 0.0f);
- glEnd();
- glPopMatrix();
- //这两个函数使用一个就可以了
- glFlush(); //单缓存时使用
- glutSwapBuffers(); //双缓存时使用
复制代码
|
|