我正在尝试使用Direct2D混合两个图像,但只有最新的Direct2D支持效果和混合选项。然而,由于兼容性问题,我想避免使用最新版本。
在这种情况下,是否有任何方法可以在没有Effects类的情况下重新创建混合模式(硬光)并仍保持硬件加速。
如果不行,纯软件渲染会对性能产生不良影响吗?
我如何访问D2D中的像素并进行逐像素操作?
谢谢
// shader file start
sampler2D firstImage
sampler2D secondImage
PS_OUTPUT EvenBlendPixelShader( float4 position : POSITION0, float4 color : COLOR )
float4 firstSample = firstImage( position )
float4 secondSample = secondImage( position )
float4 output = 0;
output.x = (firstSample.x + secondSample.x) / 2;
output.y = (firstSample.y + secondSample.y) / 2;
output.z = (firstSample.z + secondSample.z) / 2;
output.w = (firstSample.w + secondSample.w) / 2;
return { position, output }