如何在Silverlight中围绕圆柱包装图像

Sam*_*yan 5 silverlight silverlight-3.0 silverlight-4.0 pixel-shader

我正在尝试在silverlight中围绕圆柱体包裹图像.我在谷歌看了很多,但没有找到任何东西.据我所知,它可以用像素着色器完成,但不知道如何.
可能吗?
谢谢.

Agn*_*kas 1

它不是完整地包裹在圆柱体上,但您将得到一个起始想法/示例:

(代码是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);
}
Run Code Online (Sandbox Code Playgroud)

由此

替代文本

你会得到类似的东西替代文本

祝你好运