OpenGL glGenLists返回 0 为什么呢

文西
领域专家: 算法与数据结构技术领域
2009-12-25 02:52:06
小弟学习Opengl 要绘制三角网格的面和每个面的边 因为我每次调用面的材质和边的材质设置计算会很慢
想优化一下所以使用 list 但是 glGenLists返回 0。 而0 是说明没有成功执行list的生成。帮我看看吧 可能就是个小地方没有想到谢谢了
// 有色面
void COpenGLView::SetFaceMaterial()
{

GLfloat material_Ka[] = {0.11,1.0,0,11,1.00};
GLfloat material_Kd[] = {0.43,1.0,0.54,1.00};
GLfloat material_Ks[] = {0.33,1.0,0.54,1.00};
GLfloat material_Ke[] = {0.00,0.0,0.00,1.00};
GLfloat material_Se[] = {10.0};

glMaterialfv(GL_FRONT,GL_AMBIENT,material_Ka);
glMaterialfv(GL_FRONT,GL_DIFFUSE,material_Kd);
glMaterialfv(GL_FRONT,GL_SPECULAR,material_Ks);
glMaterialfv(GL_FRONT,GL_EMISSION,material_Ke);
glMaterialfv(GL_FRONT,GL_SHININESS,material_Se);
}
// 设置边框线的材质 黑线
void COpenGLView::SetLineMaterial()
{
GLfloat material_Ka[] = {0.0f,0.0f,0.0f,1.0};
GLfloat material_Kd[] = {0.0f,0.0f,0.0f,1.0};
GLfloat material_Ks[] = {0.0f,0.0f,0.0f,1.0};
GLfloat material_Ke[] = {0.0f,0.0f,0.0f,1.0};
GLfloat material_Se[] = {10.0};

glMaterialfv(GL_FRONT,GL_AMBIENT,material_Ka);
glMaterialfv(GL_FRONT,GL_DIFFUSE,material_Kd);
glMaterialfv(GL_FRONT,GL_SPECULAR,material_Ks);
glMaterialfv(GL_FRONT,GL_EMISSION,material_Ke);
glMaterialfv(GL_FRONT,GL_SHININESS,material_Se);

}

int COpenGLView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
m_selected =false; //文件还没有选取
// 将线纹理的处理保存在 list里
m_list_line = glGenLists(1);
glNewList(m_list_line,GL_COMPILE);
SetLineMaterial();
glEndList();

// 将 面的处理放在 list中
m_list_face = glGenLists(1);
glNewList(m_list_face,GL_COMPILE);
SetFaceMaterial();
glEndList();
InitializeOpenGL();
return 0;
}
...全文
279 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
文西 2009-12-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xingzhe2001 的回复:]
用glGetError看看是什么原因
[/Quote]
无效操作 不知道为什么 再看看
xingzhe2001 2009-12-25
  • 打赏
  • 举报
回复
用glGetError看看是什么原因
degree_37 2009-12-25
  • 打赏
  • 举报
回复
在m_list_line = glGenLists(1); 之前加上
::glDeleteLists(m_list_line,1); 试下?

4,499

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧