对于我编写的 cel 着色器,边缘检测仅适用于 2D 纹理/渲染目标。因此,我调整了渲染方法,以便将纹理绘制到渲染目标,渲染目标设置为纹理并使用 SpriteBatch 绘制。
除了,SpriteBatch(似乎?)忽略了我的设置:
spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.Opaque, SamplerState.LinearWrap, DepthStencilState.Default, RasterizerState.CullNone);
显然会正确绘制对象。然而,事实并非如此。