用OpenGL绘制多边形时,绘制的图形变形了void MyDraw(){ glColor3f(1.0, 1.0, 1.0); glBegin(GL_POLYGON); glVertex2i(380, 380); glVertex2i(320, 410); glVertex2i(180, 280); glVertex2i(90, 330); glVertex2i(50, 310); glVertex2i(50, 150); glVer
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/21 16:58:05
![用OpenGL绘制多边形时,绘制的图形变形了void MyDraw(){ glColor3f(1.0, 1.0, 1.0); glBegin(GL_POLYGON); glVertex2i(380, 380); glVertex2i(320, 410); glVertex2i(180, 280); glVertex2i(90, 330); glVertex2i(50, 310); glVertex2i(50, 150); glVer](/uploads/image/z/7225551-63-1.jpg?t=%E7%94%A8OpenGL%E7%BB%98%E5%88%B6%E5%A4%9A%E8%BE%B9%E5%BD%A2%E6%97%B6%2C%E7%BB%98%E5%88%B6%E7%9A%84%E5%9B%BE%E5%BD%A2%E5%8F%98%E5%BD%A2%E4%BA%86void+MyDraw%28%29%7B+glColor3f%281.0%2C+1.0%2C+1.0%29%3B+glBegin%28GL_POLYGON%29%3B++glVertex2i%28380%2C+380%29%3B+glVertex2i%28320%2C+410%29%3B+glVertex2i%28180%2C+280%29%3B+glVertex2i%2890%2C+330%29%3B+glVertex2i%2850%2C+310%29%3B++glVertex2i%2850%2C+150%29%3B+glVer)
用OpenGL绘制多边形时,绘制的图形变形了void MyDraw(){ glColor3f(1.0, 1.0, 1.0); glBegin(GL_POLYGON); glVertex2i(380, 380); glVertex2i(320, 410); glVertex2i(180, 280); glVertex2i(90, 330); glVertex2i(50, 310); glVertex2i(50, 150); glVer
用OpenGL绘制多边形时,绘制的图形变形了
void MyDraw()
{
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex2i(380, 380);
glVertex2i(320, 410);
glVertex2i(180, 280);
glVertex2i(90, 330);
glVertex2i(50, 310);
glVertex2i(50, 150);
glVertex2i(90, 130);
glVertex2i(180, 180);
glVertex2i(320, 50);
glVertex2i(380, 80);
glEnd();
glFlush();
}
本来应该只有红色线框内才是白的,小弟不知原因,
用OpenGL绘制多边形时,绘制的图形变形了void MyDraw(){ glColor3f(1.0, 1.0, 1.0); glBegin(GL_POLYGON); glVertex2i(380, 380); glVertex2i(320, 410); glVertex2i(180, 280); glVertex2i(90, 330); glVertex2i(50, 310); glVertex2i(50, 150); glVer
OpenGL只能绘制凸多边形,你红线勾出的显然是个凹多边形,所以绘制错误.
解决方法:
1.可以从中间将这个凹多边形分割为两个凸多边形,分两次画出:
比如:
glBegin(GL_POLYGON);
//左边多边形的点
glEnd();
glBegin(GL_POLYGON);
//右边多边形的点
glEnd();
2.可以用GLU的网格化对象,将此凹多边形三角化,并画出.