我想在使用OpenGL(带着色器)的屏幕转换中做类似的事情。我一直在寻找一些教程或类似的东西,但没有任何影响。 我怎样才能达到这个效果?
答案 0 :(得分:3)
关于如何开始的一些想法..
谷歌随机多边形代码,或三角形矩形 Perlin噪音,Voronoi图(如上所述)等
答案 1 :(得分:1)
这种破碎效果最流行的算法之一涉及Voronoi Diagrams。研究该主题将为您提供可高度可控的算法的详细信息,并为您提供类似的效果。
然而,它产生凸多边形作为细胞。你的图像有一些凹陷的部分,但VD将是一个非常好的开始。例如,您可以通过合并Voronoi图中的一些结果多边形来实现类似的效果。
答案 2 :(得分:0)
这是一种避免摆弄多边形并允许更多变化的方法:
只需使用面具。我首先解释一件:只是绘制你的主要纹理四边形在随机方向下降,但使用第二个纹理来获得它的alpha。第二个纹理(蒙版)只是一个黑色图像,上面画着白色。请注意,它允许具有任何形状,而不仅仅是多边形。现在,只需使用不同的蒙版几次绘制主四边形就可以实现您想要的效果,但这需要很多纹理。
因此,要仅为所有碎片使用一个蒙版纹理,您可以使用着色器而不是直接使用蒙版的值作为alpha,而是使用值N(或N周围的范围)来表示仅对于棋子不透明N.你现在只需要在渲染每一块之前增加N.要创建蒙版,请使用黑色锯齿形绘制位图(使用图像编辑器),并使用调色板中的每个灰色填充创建的多边形。如果你需要很多部分,你可以使用多个频道。
BtW使用位图函数生成该掩码应该很容易:只需创建一个位图,绘制一些随机线,扫描它并在每个空像素上使用泛光填充,每次都增加颜色。至少这似乎比处理多边形切割更简单。
现在,我喜欢的是你可以免费获得不规则的边缘,并且因为你有第二个纹理,你也可以使用它来添加主要的效果,比如你的黑色边框,甚至是带有各种颜色的阴影边缘透明度水平。