用 GL_POLYGON 绘制凹形? [复制]
Posted
技术标签:
【中文标题】用 GL_POLYGON 绘制凹形? [复制]【英文标题】:Draw concave shapes with GL_POLYGON? [duplicate] 【发布时间】:2021-03-24 07:57:25 【问题描述】:如何使用 GL_POLYGON 模式绘制凹形? 据我所知,GL_POLYGON 被定义为凸形
GL_POLYGON
绘制单个凸多边形。顶点 1 到 N 定义了这个多边形。
【问题讨论】:
【参考方案1】:简短的回答:你不能。您必须将多边形切成凸形部分。有几何库可以为你做这件事。通常你会将凹形切成三角形。
这是一个例子: https://github.com/memononen/libtess2
不支持它的原因是因为这通常不是 GPU 可以为您做的事情。 API 大部分映射到硬件。
【讨论】:
【参考方案2】:一个更长的答案。你可能不想避免使用GL_POLOYGON
,因为它是deprecated
正如 cmaughan 所讨论的,您可能想要进行镶嵌(改为单独渲染所有三角形)。我只想补充一点,您可以使用GL_TRIANGLE_FAN
来做一些凸形的特殊情况。像这样:
请注意,这种方法根本不适用于所有凸形,您可能只想将形状渲染为单独的三角形。
【讨论】:
以上是关于用 GL_POLYGON 绘制凹形? [复制]的主要内容,如果未能解决你的问题,请参考以下文章