我为Direct2D创建了一个像素着色器,它沿着边缘模糊,alpha通道低于1.0。
对于每个像素,我向上,向下,向左和向右采样blurRadius
个像素。在中间(垂直和水平),发生一些渲染错误。当我只对像素I处理后面的像素进行采样时,这些会消失。我认为我的输入图像(尺寸为1920x1080)已被切断,我在其所在的部分之外进行采样。
有没有人知道发生了什么,如果我的假设是正确的,怎么办呢?请参阅下面的结果图像。当我只对左侧或顶部的周围像素进行采样时,暗线不应该存在并消失。
答案 0 :(得分:0)
我终于解决了这个问题,我希望这可以帮助别人。
我发现问题只发生在使用不同于输出大小的输入大小时。我根据Microsoft的示例效果创建了我的效果,可以找到here。这样做的问题是它会将 stompClient.connect(headers
, function (frame) {
console.log("Conn OK " + url);
}, function (error) {
console.log("Conn NOT OK " + url + ": " + JSON.stringify(error));
});
}
映射到pInputRects[0]
中的pOutputRect
。这会以某种方式混淆效果。修复方法是将MapOutputRectToInputRects
设置为pInputRects[0]
函数中的pInputRects[0]
。