首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL: glBlendFunc与glAccum的结合

OpenGL: glBlendFunc与glAccum的结合
EN

Stack Overflow用户
提问于 2009-06-10 02:48:04
回答 1查看 1K关注 0票数 0

我一直在做一个图形项目做深度场。该方法进行了几次传递,每一次呈现的场景都有不同的近景和远场裁剪参数,使得每一次渲染的深度范围不同。

其思想是在每个单独的层上应用模糊内核,方法是对纹理进行渲染,并在呈现的四层上(使用纹理)进行模糊处理。这些都是相当基本的东西。一切都很顺利。然而,我无法工作的部分是各层的结合:

在每次绘制之前,用color4(0、0、0、0)清除颜色缓冲区。但是,积累似乎不允许glBlendFunc的使用,因此它会累积考虑到alpha通道(即glBlendFunc(GL_SRC_ALPHA,GL_SRC_ONE_MINUS_ALPHA))。

那么问题是:- glBlendFunc会影响glAccum吗?-如果没有,我该如何解决这个问题?

根据文档,情况似乎并非如此,因为没有提到它,但是它认为这是一个非常有用的特性。

问候,R

EN

回答 1

Stack Overflow用户

发布于 2010-01-29 16:36:31

你的问题并没有解释为什么你需要混合和阿库姆,所以这个答案可能不是真正有用的。该缓冲液不混合。但是有两条路可能是有用的:

大多数现代硬件都可以进行“单独”混合,因此,例如,您可以在alpha通道上执行加性操作,同时在framebuffer.

  • Many现代设置上进行真正的混合操作,这样您就可以同时呈现多个绘图缓冲区,有时可以使用不同的混合模式。

因此,您可能可以通过FBO使用第二个框架缓冲区作为某种“假accum缓冲区”,使用混合模式来“累积”。如果您能够找到一个与您想要的累积操作足够接近的混合模式,您可能可以利用混合方程。

看看这些GL扩展:

http://www.opengl.org/registry/specs/ARB/draw_buffers.txt

http://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt

http://www.opengl.org/registry/specs/EXT/draw_buffers2.txt

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/973472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档