C# OpenTK中的二维绘图顺序
所以我有4个精灵,让我们称它们为C# OpenTK中的二维绘图顺序,c#,.net,opengl,mono,opentk,C#,.net,Opengl,Mono,Opentk,所以我有4个精灵,让我们称它们为Background,Overlay,对象A和对象B Backgroundsprite应该首先绘制,并像普通背景一样工作 Overlaysprite的工作相当复杂,Overlay覆盖了Background50%的面积,但是我想Overlay对Background是透明的,这意味着我可以看到Background即使它被Overlay覆盖,我希望它对对象A和对象B不透明,这意味着如果对象A和/或对象B位于/覆盖在覆盖层中,则这些对象不应可见,但背景应完全可见 有什么办
Background
,Overlay
,对象A
和对象B
Background
sprite应该首先绘制,并像普通背景一样工作Overlay
sprite的工作相当复杂,Overlay
覆盖了Background
50%的面积,但是我想Overlay
对Background
是透明的,这意味着我可以看到Background
即使它被Overlay
覆盖,我希望它对对象A
和对象B
不透明,这意味着如果对象A
和/或对象B
位于/覆盖在覆盖层
中,则这些对象不应可见,但背景
应完全可见谢谢如果objA或B部分被覆盖怎么办?我认为您可以调整绘制调用之间的alpha混合,以满足您的需要…覆盖的部分不应可见我认为不可能使用普通alpha混合,因为
背景
即使其被覆盖
也应可见,如果无法使用普通alpha混合(我没有深入研究此问题)但您可以在禁用alpha混合的情况下将A、B和覆盖对象渲染到FBO,然后在启用alpha的情况下渲染生成的纹理和背景。。。