繁体   English   中英

剪辑或遮罩2D纹理

[英]Clip or Mask a 2D texture

嘿,我想知道是否有人会为gui或类似系统的菜单使用2D纹理进行剪切。

这是我想产生的示例输出

有一个大小为500 x 500的游戏屏幕。在其后面的屏幕为1000 x 1000。

当我在500 x 500的父屏幕上以0、0绘制纹理时,我不希望显示该组件

但是如果我以500、450绘制组件,并且纹理的宽度和高度为100,我希望只能看到整个宽度,而只能看到组件高度的一半。

我想知道是否有一种简单的方法?

编辑:

基本上我在想Photoshop中的类似蒙版效果的东西。

这是一张图片裁剪图片

黑色轮廓是绘制纹理另一半的位置。

您可以裁剪纹理。 当结果形状为多边形时,
您可以通过简单地修改顶点和纹理坐标来做到这一点。

当修剪的纹理是复杂的形状时,事情就会变得棘手。

您还可以通过按正确的顺序绘制所有内容来进行裁剪。
它可能没有效率,但是很容易。

ps图片在这里会有所帮助。

解决此问题的另一种方法:

基本上,您要绘制两个场景:游戏屏幕( 图片中的蓝色部分)和背景屏幕( 图片中的红色部分)。

我认为您可以在两个不同的位图对象(或图形库中类似的对象)中绘制游戏屏幕和背景屏幕。

下一步是将整个背景屏幕位图剪切到输出位图对象,然后您可以仅剪切游戏屏幕的中心部分(以输出屏幕为中心的500 x 500正方形)。


PS:如果您可以添加有关正在使用的图形库的更多详细信息,可能会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM