2 cdutwml cdutwml 于 2015.06.06 00:35 提问

求解答。。OPengl绘图系统的问题!

一个Opengl的绘图系统,怎样才能既可以绘制二维图形,又可以绘制三维图形,我觉得是Onsize里面出了问题,可是不知到怎么改,求高手解答,代码如下:
void CMy123View::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); //设定视口大小

if (m_shape == 1 || m_shape == 2 || m_shape == 3)

{ glLoadIdentity();

glOrtho(-cx / 2, cx / 2, -cy / 2,cy / 2, -10, 10);

glMatrixMode(GL_PROJECTION); glLoadIdentity();

glViewport(0, 0, cx, cy);
}

if (m_shape == 4)
{ //设定视口大小 //

glViewport(0, 0, cx, cy);

glLoadIdentity();

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

glFrustum(-0.5, 1, -0.5, 1, 1, 20); ///透视矩阵或者透视视见体范围(左,右,下,上,前,后);

glMatrixMode(GL_MODELVIEW);

glShadeModel(GL_FLAT);

glViewport(0, 0, cx, cy);

glClearColor(1, 1, 1, 1);

glClear(GL_COLOR_BUFFER_BIT);
}

Csdn user default icon
上传中...
上传图片
插入图片