//初始化三角网,生成m_nTriList
void CGis3DView::InitTris()
{
//获取0penGL绘制描述表
wglMakeCurrent(m_pDC->GetSafeHdc(), m_hRC);
m_nTriList = glGenLists(1);
::glNewList(m_nTriList, GL_COMPILE);
//视需要建立list
//同时要计算并设定法向量、材质
//粘贴纹理的也需要初始化纹理,并绑定纹理
glFrontFace(GL_CCW);
glBegin(GL_TRIANGLES);
glColor4f(0.4f, 0.5f, 0.4f, 1.0f);
//此处做一个循环,绘制所有三角形
int i;
for (i = 0; i < m_nTri; i++)
{
//第1个三角形的三个顶点号
int p1 = m_pTri[i].nPt1;
int p2 = m_pTri[i].nPt2;
int p3 = m_pTri[i].nPt3;
//根据顶点号获得三个点坐标,并绘制
glNormal3f(m_pPointNormal[p1].x, m_pPointNormal[p1].y, m_pPointNormal[p1].z);
glVertex3f(m_pPoint[p1].x, m_pPoint[p1].y, m_pPoint[p1].z);
glNormal3f(m_pPointNormal[p2].x, m_pPointNormal[p2].y, m_pPointNormal[p2].z);
glVertex3f(m_pPoint[p2].x, m_pPoint[p2].y, m_pPoint[p2].z);
glNormal3f(m_pPointNormal[p3].x, m_pPointNormal[p3].y, m_pPointNormal[p3].z);
glVertex3f(m_pPoint[p3].x, m_pPoint[p3].y, m_pPoint[p3].z);
}
glEnd();
::glEndList();这一段报错
wglMakeCurrent(NULL, NULL);
}
0x783E7521 (nvoglv32.dll)处(位于 网页链接 中)引发的异常: 0xC0000005: 写入位置 0x00000028 时发生访问冲突。
void CGis3DView::InitTris()
{
//获取0penGL绘制描述表
wglMakeCurrent(m_pDC->GetSafeHdc(), m_hRC);
m_nTriList = glGenLists(1);
::glNewList(m_nTriList, GL_COMPILE);
//视需要建立list
//同时要计算并设定法向量、材质
//粘贴纹理的也需要初始化纹理,并绑定纹理
glFrontFace(GL_CCW);
glBegin(GL_TRIANGLES);
glColor4f(0.4f, 0.5f, 0.4f, 1.0f);
//此处做一个循环,绘制所有三角形
int i;
for (i = 0; i < m_nTri; i++)
{
//第1个三角形的三个顶点号
int p1 = m_pTri[i].nPt1;
int p2 = m_pTri[i].nPt2;
int p3 = m_pTri[i].nPt3;
//根据顶点号获得三个点坐标,并绘制
glNormal3f(m_pPointNormal[p1].x, m_pPointNormal[p1].y, m_pPointNormal[p1].z);
glVertex3f(m_pPoint[p1].x, m_pPoint[p1].y, m_pPoint[p1].z);
glNormal3f(m_pPointNormal[p2].x, m_pPointNormal[p2].y, m_pPointNormal[p2].z);
glVertex3f(m_pPoint[p2].x, m_pPoint[p2].y, m_pPoint[p2].z);
glNormal3f(m_pPointNormal[p3].x, m_pPointNormal[p3].y, m_pPointNormal[p3].z);
glVertex3f(m_pPoint[p3].x, m_pPoint[p3].y, m_pPoint[p3].z);
}
glEnd();
::glEndList();这一段报错
wglMakeCurrent(NULL, NULL);
}
0x783E7521 (nvoglv32.dll)处(位于 网页链接 中)引发的异常: 0xC0000005: 写入位置 0x00000028 时发生访问冲突。