我正在制作一个相对较小的2D(俯视)游戏演示,使用OpenGL进行图形处理。它以基本的隐身为基础,因此对于所有敌人,我都会绘制一个视线弧线,以便玩家知道他们在看哪里。
到目前为止,我的一个问题是,当我绘制这个视线弧线(作为填充多边形)时,它自然而然地穿过屏幕上的任何墙壁,因为没有什么能阻止它: 我很好奇如何能够最好地防止这种情况发生。我已经编写了代码来检测墙壁等的线段交点(用于敌人视线检测),理论上可以使用这些来检测这种情况并相应地绘制多边形,但这可能会非常琐碎和/或低效,因此如果有任何内置的OpenGL系统可以为我完成这项工作,它可能会做得更好。
我尝试寻找关于剪辑/遮挡等主题的问题,但我甚至不确定这是否正是我应该寻找的内容;我的OpenGL技能有限。似乎使用glClipPlanes或glScissor等任何东西都不适合由于大量单独的墙壁等。
最后,这只是我在业余时间制作的演示,所以图形并不是我主要担心的问题。如果有(合理)无痛的方法可以解决这个问题,我希望有人能指点我正确的方向;如果没有简单的方法,那么我可以暂时放弃这个问题或寻找其他解决办法。
到目前为止,我的一个问题是,当我绘制这个视线弧线(作为填充多边形)时,它自然而然地穿过屏幕上的任何墙壁,因为没有什么能阻止它: 我很好奇如何能够最好地防止这种情况发生。我已经编写了代码来检测墙壁等的线段交点(用于敌人视线检测),理论上可以使用这些来检测这种情况并相应地绘制多边形,但这可能会非常琐碎和/或低效,因此如果有任何内置的OpenGL系统可以为我完成这项工作,它可能会做得更好。
我尝试寻找关于剪辑/遮挡等主题的问题,但我甚至不确定这是否正是我应该寻找的内容;我的OpenGL技能有限。似乎使用glClipPlanes或glScissor等任何东西都不适合由于大量单独的墙壁等。
最后,这只是我在业余时间制作的演示,所以图形并不是我主要担心的问题。如果有(合理)无痛的方法可以解决这个问题,我希望有人能指点我正确的方向;如果没有简单的方法,那么我可以暂时放弃这个问题或寻找其他解决办法。