-1

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

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

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

...

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

图片示例: 灯笼效果

4

1 回答 1

1

这实际上很容易实现:

  1. 在 Alpha 通道中使用您的灯笼光形状创建黑色纹理。(纹理可以是动画的)
  2. 渲染背景。
  3. 以游戏中鼠标光标为中心渲染灯笼纹理。
  4. 在灯笼纹理周围渲染黑色填充以隐藏周围的所有内容,直到屏幕边缘。

无需使用任何特殊的混合模式,只需叠加即可。

于 2012-10-25T10:57:04.610 回答