gpt4 book ai didi

c# - OpenGL Quad 仅与背景混合

转载 作者:太空宇宙 更新时间:2023-11-03 11:12:01 25 4
gpt4 key购买 nike

我已经使用 OpenTK 和 OpenGL 为游戏设置了一个快速的 2D 渲染系统。我已经使用以下方法设置了透明度:

GL.Enable(EnableCaps.Blend);
GL.BlendFunc(BlendingFactorSrc.One, BlendingFactorDest.OneMinusSrcAlpha);

但是,每当我去绘制时(纹理是用 System.Drawing 加载的 png 文件),它只会与我在绘制调用开始时清除的颜色混合:

img

我刚刚切换到 MonoGame,因为它的 2D 渲染已经过充分测试

最佳答案

看起来你没有按正确的顺序绘图。要获得正确的混合,您需要从后到前对多边形进行排序,以便首先绘制“后面”的任何内容。

尽管如此,基于该图片,使用 alpha 测试而不是混合可能会更好。 Alpha 测试只是丢弃 alpha 小于阈值的像素。它比混合更便宜,而且您不需要对对象进行排序即可使用它。只有在您想要使用半透明对象(alpha 介于 0 和 1 之间)时才需要混合。

关于c# - OpenGL Quad 仅与背景混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13657690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com