在 OpenGL 中,如何从正方形中切出三角形的孔?使孔透明。
我也在使用 SDL,也许它可以通过 SDL 表面来实现?
虽然在纹理上执行此操作确实是更简单的方法,但如果您需要它是一个真实的形状,您可以尝试使用 GLU 工具包中的 GLUtesselator。在这里查看它的教程。
一般用法是您创建一个 tesselator 对象,创建两个轮廓(反向的外部和内部),然后 tesselator 将其转换为纯 OpenGL 命令。当然,如果您正在寻求效率,您应该实现或找到一些在顶点缓冲区上运行的更高阶系统。