代码之家  ›  专栏  ›  技术社区  ›  Samvel Siradeghyan

如何在Silverlight中环绕圆柱体

  •  5
  • Samvel Siradeghyan  · 技术社区  · 15 年前

    我试着用silverlight把图像包起来。我在谷歌上找了很多,但什么也没找到。据我所知,它可以用像素着色器,但不知道如何。

    谢谢。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Agnius Vasiliauskas    15 年前

    这并不是一个完整的圆柱包装,但你会得到一个开始的想法/例子:

    (代码在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);
    }
    

    从这个

    alt text

    你会得到这样的东西 alt text

        2
  •  0
  •   Abhi    15 年前

    推荐文章