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