5

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

4

2 回答 2

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);
}

由此

替代文字

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

祝你好运

于 2010-09-03T09:57:03.083 回答
0

您可能想尝试 Zam3d。我之前使用过试用版,您可以获取 3D 形状并尝试将背景设置为图像。看看是否有帮助。

于 2010-09-02T02:55:46.827 回答