“灯笼效果”或仅显示场景的一部分

时间:2012-10-24 21:46:45

标签: opengl light operation polygons

我试图只展示背景图片的一部分(未来的游戏场景)。基本的工作方式是,例如,首先我绘制一个背景图像,之后我需要“隐藏”/覆盖图像的暗或暗(没有光,不知道必须选择什么选项)并使用鼠标单击以使用圆形或三角形(我的选项)仅显示图像背景的一部分,圆形/三角形以鼠标位置为中心。我把这称为“灯笼效应”。

第一个选项:使用Alpha通道进行游戏,创建一个覆盖所有窗口大小的正方形,然后尝试将圆形区域减去图像上方的alpha方块。

第二个选项:再次使用覆盖所有图像背景的黑色方块并尝试减去圆/三角形。尝试使用glLogicOp,但此方法仅播放混合颜色。不知道如何使用OpenGL对2D多边形进行操作。

...

学习如何做类似事情的任何其他想法或简单示例。

图片示例: Lantern Effect

1 个答案:

答案 0 :(得分:1)

实际上很容易实现:

  1. 使用Alpha通道中的灯笼灯形状创建黑色纹理。 (纹理可以动画)
  2. 渲染背景。
  3. 以游戏​​中的鼠标光标为中心渲染灯笼纹理。
  4. 在灯笼纹理周围渲染黑色衬垫,以隐藏周围的所有内容,直到屏幕边缘。
  5. 无需使用任何特殊的混合模式,只需覆盖。