繁体   English   中英

OpenGL:混合和反馈效果

[英]OpenGL : Blending & feedback effect

我在一个简单的项目上苦苦挣扎,作为一个例子/沙箱,我在我的 output 上渲染一个小的振荡矩形。 我没有使用glclearcolor()而是在每一帧上我先画一个黑色矩形,然后与glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)混合;

我的目标是在我玩之前帧的这个黑色矩形反馈的 alpha 时看到,慢慢地褪色,某种轨迹,它或多或少是有效的。

不过,我的主要问题是,这条小路永远不会真正消失,而且我试图找到这条小路的时间越长,它变得越糟。 另外,在看到任何踪迹之前,我必须完全启动 alpha,我真的不明白为什么。

在此处输入图像描述

默认的 OpenGL 帧缓冲区仅对每个颜色分量使用 8 位。 您可以通过使用由浮点数或 16 位或 32 位组件支持的自定义帧缓冲区来增加此值。

我不确定不使用 glClearColor 是否是实现运动轨迹的正确方法。 alpha 混合的最后一位可能会遇到精度/舍入问题,其中 0.9 * 0x01 可能会返回 0x01(对于每个 rgba 八位字节)。 (虽然我会很惊讶你能看到差异,但谁知道呢)。 如果不是这种情况,我会切换到适当的 glClearColor ,然后创建一个类似于你如何做前导框的框的轨迹,具有确定性的衰减/资源释放。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM