Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C中的像素着色#_C#_Pixel Shader - Fatal编程技术网

C# C中的像素着色#

C# C中的像素着色#,c#,pixel-shader,C#,Pixel Shader,我希望我的第一篇文章没有犯第一个错误 我正在为几种图形效果和过滤器(例如Sobel或Gaußmask)编写一个库。 由于在CPU上执行此操作的速度较低,因此我使用Shazzam工具编写了一些着色器 我的具体问题是,我无法在C#中使用此着色器。 在互联网上,我只找到了如何将像素着色器作为XAML中的效果直接应用于元素的建议,这对于我的应用程序来说是不可用的,因为这使得无法在一幅图像上应用多个着色器,这是必需的,例如Canny边缘检测器 为了说明这个问题,我需要一段伪代码,它应该显示我对该方法的期望

我希望我的第一篇文章没有犯第一个错误

我正在为几种图形效果和过滤器(例如Sobel或Gaußmask)编写一个库。 由于在CPU上执行此操作的速度较低,因此我使用Shazzam工具编写了一些着色器

我的具体问题是,我无法在C#中使用此着色器。 在互联网上,我只找到了如何将像素着色器作为XAML中的效果直接应用于元素的建议,这对于我的应用程序来说是不可用的,因为这使得无法在一幅图像上应用多个着色器,这是必需的,例如Canny边缘检测器

为了说明这个问题,我需要一段伪代码,它应该显示我对该方法的期望

PixelShader somePixelShader  = new PixelShader(pixelshader.ps);
somePixelShader.Input = Bitmap;
somePixelShader.Height = 200;
somePixelShader.Width = 800;

somePixelShader.Execute();
Bitmap = somePixelShader.Result;
正如你所看到的,一切都应该用C语言来完成


也许你可以帮我解决这个问题。

你可以将当前效果输出复制为位图,然后将输出的图像作为新输入提交给下一个效果,冲洗,重复

更新:经过一个小的(非决定性的)测试后,这将不起作用:

查看有关如何在WPF或SL中编译和使用像素着色器的分步说明和示例


您可能还想查看WPF像素着色器效果库。

您正在构建什么类型的应用程序?WPF?银灯?新华社?我猜可能是SL或WPF,因为你提到了XAML,但仍然有很多可能性…我正在构建一个C#类库,但使用我发现的像素着色器的唯一方法是通过WPFWho我可以应用效果本身,在我看来,基本的方法可能是解决方案,如果我知道谁应用着色器,我会尽快测试和回答我做了一个测试,它产生了一个空白图像,请阅读我上面的更新。