在MFC的单文档中用OpenGL画图,画图函数明明运行了,为啥就是显示不出来?画图函数如下:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在MFC的单文档中用OpenGL画图,画图函数明明运行了,为啥就是显示不出来?画图函数如下:相关的知识,希望对你有一定的参考价值。
void CMyView::DrawScene(void)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES); // 绘制三角形
glColor3f(1.0f,0.0f,0.0f);
glVertex3f( 0.0f, 10.0f, 0.0f); // 上顶点
glColor3f(0.0f,1.0f,0.0f);
glVertex3f(10.0f,0.0f, 0.0f); // 左下
glColor3f(0.0f,0.0f,1.0f);
glVertex3f( 10.0f,20.0f, 0.0f); // 右下
glEnd();
glFinish();
CString str("Hello,World!");
m_pDC->TextOut(10,109,str);
hello world 可以显示出来
m_pDC= new CClientDC(this);
m_hDC=m_pDC->GetSafeHdc();//创建DC
ASSERT(m_pDC != NULL);
if (!SetupPixelFormat()) //设定绘图的位图格式,函数下面列出
return;
m_hRC= wglCreateContext(m_pDC->m_hDC);//创建 RC
wglMakeCurrent(m_pDC->m_hDC, m_hRC); //RC 与当前 DC 相关联
// 重置当前的模型观察矩阵
你主要在画图时没有重置坐标,简单说就是坐标初始化!
glTranslatef(-1.5f,0.0f,-6.0f);
// 左移 1.5 单位,并移入屏幕 6.0
下一步设置坐标后就可以开始画图了。
glBegin(GL_TRIANGLES);// 绘制三角形 参考技术A 不知道你在初始化的时候有没有以m_pDC创建绘图设备
以上是关于在MFC的单文档中用OpenGL画图,画图函数明明运行了,为啥就是显示不出来?画图函数如下:的主要内容,如果未能解决你的问题,请参考以下文章