我需要在opengl中设置一个房间。对于墙壁,我正在考虑用四边形制作它们,但我怎样才能在它上面制作一个洞(窗口)?因为我需要一盏灯透过窗户照亮房间。
任何想法的人?
答案 0 :(得分:4)
你已经自己回答了这个问题!
不是只有一个四边形作为一个整体墙,你可以将它分成多个四边形,在那里创建一个洞/洞。
以下是您如何做到这一点的直观表达:
在左边我们有一个由1个四边形组成的墙,在右边我们有一个由4个四边形组成的墙,中间有一个洞。
虽然如果你想要一个更深入的墙,你需要更多的四边形而不仅仅是那四个四边形。所以我在这里为你绘制了另一个视觉表现,我在所有可见面上都写了四边形。虽然记住有很多“看不见的”面孔,但我们还需要创建。
制作这样的墙并不难,您可以轻松计算所有顶点并将它们连接起来。
答案 1 :(得分:1)
只有一个封闭的四边形表面,你不能。
您需要构建(或使用库为您构建它)一个更复杂的形状,看起来像外面的四边形墙,但在中间有一个洞。
例如,一堆矩形条可能会这样做,或者是一堆三角形条(三角形正确变形,形成一个像中间开口一样的洞)。
存在一些可以进行实体转换的库。在这种情况下,您将构建一个矩形墙,一个圆柱体,并从墙中减去圆柱体(留下一个圆形窗口)。但是,很难知道这些库是否对您有所帮助,因为对您的环境知之甚少。