我阅读并查看了许多有关Win2D的信息,并发现了I can use custom pixel and vertex shaders。
我发现了如何创建自定义像素着色器资源
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创建顶点着色器资源。提前致谢
最佳答案
如site you linked所述:
现在错了!
但是不幸的是,目前Win2D只是提供了一种使用pixel shaders的方法。如果要使用顶点着色器,则必须使用Direct3D。有一个Example Gallery,其中有一个示例如何将Direct3D与Win2D混合在一起(the one with the teapot),您可以找到code on GitHub。我不知道这是否对您有帮助,但这就是我所能找到的全部。
关于c++ - 如何通过Win2d使用顶点着色器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34410536/