OpenGL,从形状中删除部分

时间:2009-12-20 18:38:24

标签: opengl shape cut

在OpenGL中,如何从正方形中切出一个三角形孔?使洞透明。

我也在使用SDL,也许可以通过SDL表面来实现?

2 个答案:

答案 0 :(得分:1)

您可以使用纹理和Alpha混合:纹理将包含透明三角形。请参阅此tutorial on blending

编辑:当然,alpha混合不会改变几何体。为此,您需要执行更复杂的治疗。请参阅此tutorial on realtime CSG

参考:Constructive Solid Geometry

答案 1 :(得分:1)

在纹理上进行操作确实是更容易的方法,如果你需要它是一个真正的形状,你可以尝试使用GLU工具包中的GLUtesselator。请参阅教程here

一般用法是创建一个tesselator对象,创建两个轮廓(反向的外部和内部),并且tesselator将其转换为纯OpenGL命令。当然,如果你正在寻求效率,你应该实现或找到一个在顶点缓冲区上运行的更高阶系统。