OPENGL生成多边形的问题以下是我的生成函数,功能是用12点生成六芒星:void redraw(){ glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glVertex2f(-0.4,-0.3); glVertex2f(-0.4 / 3,-0.3); glVertex2f(0,-0.5); glVerte
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/07 09:29:49
OPENGL生成多边形的问题以下是我的生成函数,功能是用12点生成六芒星:void redraw(){ glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glVertex2f(-0.4,-0.3); glVertex2f(-0.4 / 3,-0.3); glVertex2f(0,-0.5); glVerte
OPENGL生成多边形的问题
以下是我的生成函数,功能是用12点生成六芒星:
void redraw()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex2f(-0.4,-0.3);
glVertex2f(-0.4 / 3,-0.3);
glVertex2f(0,-0.5);
glVertex2f(0.4 / 3,-0.3);
glVertex2f(0.4,-0.3);
glVertex2f(0.8 / 3,0);
glVertex2f(0.4,0.3);
glVertex2f(0.4 / 3,0.3);
glVertex2f(0,0.5);
glVertex2f(-0.4 / 3,0.3);
glVertex2f(-0.4,0.3);
glVertex2f(-0.8 / 3,0);
/*
glVertex2f(-0.8 / 3,0);
glVertex2f(-0.4,-0.3);
glVertex2f(-0.4 / 3,-0.3);
glVertex2f(0,-0.5);
glVertex2f(0.4 / 3,-0.3);
glVertex2f(0.4,-0.3);
glVertex2f(0.8 / 3,0);
glVertex2f(0.4,0.3);
glVertex2f(0.4 / 3,0.3);
glVertex2f(0,0.5);
glVertex2f(-0.4 / 3,0.3);
glVertex2f(-0.4,0.3);
*/
glEnd(); // GL_QUADS
glutSwapBuffers();
}
但是按照该函数的方式,生成的多边形是这样的:
如果按照以上注释中所示的画点顺序(最后一个点放到最前面去了),就生成正常了:
这到底是怎么回事?
OPENGL生成多边形的问题以下是我的生成函数,功能是用12点生成六芒星:void redraw(){ glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glVertex2f(-0.4,-0.3); glVertex2f(-0.4 / 3,-0.3); glVertex2f(0,-0.5); glVerte
这好像是计算机内的 图形卡 问题. 查一下 图形卡 型号, 生产厂商,去厂商网站,下载它的 update 后的 与你的操作系统相配的 驱动程序(软件),更新. (就像操作系统 老要 补丁 更新一样).