我试图编写一个高斯模糊像素着色器用于WPF效果,但我很难找到将内核传递到着色器的方法。
我的着色器的工作方式非常标准。它计算cpu上的内核,然后(尝试)将其传递给gpu以供使用。
目前,我的内核被格式化为大小为144的浮点数组(24x24内核具有对称性)。从我收集的内容来看,它不像opengl,我可以通过vbo传递原始数据。 WPF依赖项对象似乎不支持数组类型,而hlsl不支持本机数组。
我可以将内核存储在纹理中,但我不知道如何生成然后传递该纹理。着色器的纹理输入似乎是一个画笔,但我找不到直接在WPF中设置画笔数据的方法。
是否可以传递数组?或者我必须在着色器中对内核进行硬编码?在opengl中这样做是件微不足道的事情,我无法想象它在WPF中是不可能的。