代码之家  ›  专栏  ›  技术社区  ›  Todd Main

在WPF中的像素着色器/其他方法中重新创建<BevelBitmapEffect>

  •  6
  • Todd Main  · 技术社区  · 14 年前

    既然 <BevelBitmapEffect> (在其他效果中)已经被贬低,我想看看如何在着色器效果中重新创建完全相同的东西(包括它的属性) BevelWidth , EdgeProfile LightAngle , Relief Smoothness

    <BevelBitmapEffect> 在习俗中 Effect .

    < 它模仿了以前版本的WPF?

    2 回复  |  直到 14 年前
        1
  •  4
  •   Stan    14 年前

    Rod Stephens在DevX上有一篇很好的文章展示了如何使用系统图纸创建WPF效果(以前存在的效果,例如倒角)等等。你必须注册才能看这篇文章 http://www.devx.com/DevXNet/Article/45039 . 也可以下载源代码。

        2
  •  2
  •   Kris    12 年前

    calculate the normal 然后将其着色(参见silverlight示例)。正如您所提到的,关于斜面的内容不多,但是如果您搜索与着色类似的凹凸贴图/法线贴图,则有一些很好的资源。特别地 this thread 有一个使用预先计算的法线贴图的Silverlight示例。

    要解决此限制:

    • 执行软件中的部分或全部步骤。

    如果不执行这些操作之一,您将幸运地在达到指令限制之前执行3或4像素的倒角,因为查找距离所需的循环会快速增加指令计数。

    Download nvidia phong shaders )是用来遮光的。斜面轮廓是通过使用代码调整输入高度创建的,也可以通过提供特殊纹理来使用自定义轮廓。还有一些其他的特性要添加,但它似乎很容易执行足够的动画属性。它缺乏评论,但我可以解释部分,如果需要的话。