如何通过Win2d使用顶点着色器

How to use vertex shader via Win2d

本文关键字:顶点 何通过 Win2d      更新时间:2023-10-16

我阅读并查看了许多关于Win2D的信息,发现我可以使用自定义像素和顶点着色器。

我发现了如何创建自定义像素着色器资源

        var bitmapTiger = await CanvasBitmap.LoadAsync(sender, "imageTiger.jpg");
        tigerSize = bitmapTiger.Size.ToVector2();
        effect = new PixelShaderEffect(await Utils.ReadAllBytes("my_pixel_shader.fxo"))
        {
            Source1 = bitmapTiger,
            Source1BorderMode = EffectBorderMode.Hard,
            Source1Mapping = SamplerCoordinateMapping.Offset,
            MaxSamplerOffset = 1
        };

但是我找不到如何通过Win2D创建顶点着色器资源。

提前感谢

正如您链接的网站所述:

遗憾的是,目前无法在Win2D中添加自定义图像效果。

现在这是错误的
但不幸的是,Win2D目前只提供了一种使用像素着色器的方法。如果要使用顶点着色器,则必须使用Direct3D。有一个示例库,里面有一个如何将Direct3D与Win2D(带茶壶的)混合的示例,你可以在GitHub上找到代码。我不知道这对你是否有帮助,但这就是我所能找到的。