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

C++ 如何通过Win2d使用顶点着色器,c++,uwp,win2d,windows-8.1-universal,C++,Uwp,Win2d,Windows 8.1 Universal,我已经阅读并查找了很多关于Win2D的信息,发现了这一点 我找到了如何创建自定义像素着色器资源 var bitmapTiger = await CanvasBitmap.LoadAsync(sender, "imageTiger.jpg"); tigerSize = bitmapTiger.Size.ToVector2(); effect = new PixelShaderEffect(await Utils.ReadAllB

我已经阅读并查找了很多关于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()混合使用的示例,您可以找到。我不知道这是否对您有帮助,但我只能找到这些。

HLSL顶点着色器的标准构造不起作用吗?我在这部分编程方面没有足够的经验。我最近开始研究它。我有一个使用SharpDX的小项目,我想用Win2D重写它(用于我的自学)。在SharpDX中,我有PixelShader和VertexShader类。在Win2d中,我只找到了PixelShaderEffect类哦,好吧,所以您只想使用现有的着色器。我以为你想写一个顶点着色器,我的错。谢谢。Win2D正在开发中,我认为VertexShader(如像素着色器)将在future@AndriiKrupka我不确定是否要添加顶点着色器,因为该框架旨在获得快速的2D图形,而顶点着色器主要用于3D图形。但你是对的,它正在开发中,甚至像素着色器也只有大约一周的时间。