Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl不规则形状颜色填充_Opengl_Glut - Fatal编程技术网

Opengl不规则形状颜色填充

Opengl不规则形状颜色填充,opengl,glut,Opengl,Glut,我正在用GL_线画一个五角星。当我使用GL_多边形时,它会扭曲星形的形状并连接第一个和最后一个顶点。请帮忙:(?现代图形卡无法绘制三维多边形;它们只绘制三角形。因此,当您使用GL\u POLYGON时,驱动程序必须将其分解为三角形。在您的情况下,此过程可能会中断。我建议您自己创建三角形。在您的情况下,添加一个中心点,并使用GL\u TRIANGLE\u FAN创建一个控制点连续网格。对于五点星的具体情况,Aaron建议使用一个底部顶点位于中心的三角形扇形效果很好!请注意,恒星是凹多边形;GL_多

我正在用GL_线画一个五角星。当我使用GL_多边形时,它会扭曲星形的形状并连接第一个和最后一个顶点。请帮忙:(?

现代图形卡无法绘制三维多边形;它们只绘制三角形。因此,当您使用
GL\u POLYGON
时,驱动程序必须将其分解为三角形。在您的情况下,此过程可能会中断。我建议您自己创建三角形。在您的情况下,添加一个中心点,并使用
GL\u TRIANGLE\u FAN
创建一个控制点连续网格。

对于五点星的具体情况,Aaron建议使用一个底部顶点位于中心的三角形扇形效果很好!请注意,恒星是凹多边形;GL_多边形只能渲染凸多边形

凹多边形有许多通用解决方案。一种是在CPU上将多边形细分为三角形;如果使用GLU,可以使用GlussBeginPolygon函数进行此操作。如果希望避免在GLU库中链接,可以在web上找到其源并提取相关片段


红皮书还介绍了一个很酷的技巧,可以使用模具缓冲区和普通的旧三角形扇子快速绘制凹多边形。模具技术非常好,但它可能比您真正需要的更华丽。

在OpenGL中使用GL_多边形渲染需要点共面,并且生成的多边形是凸的。星星您描述的将不是凸的,因此行为未定义