我正在尝试在silverlight中围绕圆柱体包裹图像.我在谷歌看了很多,但没有找到任何东西.据我所知,它可以用像素着色器完成,但不知道如何.
可能吗?
谢谢.
可能吗?
谢谢.
解决方法
它不是一个完整的圆柱体包装,但你会得到一个开始的想法/例子:
(代码在GLSL中,而不是在HLSL中,但我认为转换它并不困难)
uniform sampler2D tex; void main() { vec2 cen = vec2(0.5,gl_TexCoord[0].y)-gl_TexCoord[0].xy; cen = vec2(pow(cen.x,1.7),pow(cen.y,2.2)); cen.y = 3.9*sin(1.8*gl_TexCoord[0].x-2.3); vec2 mcoord = 1.65*vec2(-0.22+gl_TexCoord[0].x,1.95+gl_TexCoord[0].y); gl_FragColor = texture2D(tex,mcoord+cen); }
由此
你会得到类似的东西
祝好运