C++ 如何通过Win2d使用顶点着色器
我已经阅读并查找了很多关于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
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图形。但你是对的,它正在开发中,甚至像素着色器也只有大约一周的时间。