Qt3D离屏渲染器中物体透明度叠加异常问题求助
Qt3D Offscreen Rendering: Transparent Object Fails to Blend Properly with Background
我最近在做Qt3D离线渲染的项目,结合了一款离线渲染工具,还参照相关示例修改了帧图来添加背景图像。但当我使用QPhongAlphaMaterial给背景上方的物体添加透明度时,渲染效果完全不符合预期。
当前问题表现
目前的渲染结果是这样的:
需要说明的是,图中的圆形区域实际应该是透明状态,但渲染器并没有把物体透明叠加在背景之上,而是直接将物体的透明度值写入了整个像素区域。
对比一下无透明度时的物体渲染效果:
这是我使用的背景图像:
我的帧图设置
我的帧图包含两个渲染分支:先处理背景图像分支,再处理物体分支。针对物体分支,我添加了一个QRenderStateSet,里面包含:
- 设置为加法模式的
QBlendEquation QBlendEquationArguments,配置为:- 源RGB和alpha设为1
- 目标RGB和alpha设为
1 - 源alpha
补充背景
我正在使用T-Less数据集的图像,编写程序用于生成6D位姿估计的真值数据。
恳请各位大佬提供解决这个透明度叠加问题的思路!
内容的提问来源于stack exchange,提问作者Florian Blume
相关产品推荐
相关产品推荐

