【问题标题】:Qt3D transparency in offscreen renderer屏幕外渲染器中的 Qt3D 透明度
【发布时间】:2018-05-31 07:37:27
【问题描述】:

我将 Qt3D 与 offscreen renderer 结合使用,并修改了框架图以包含背景图像,例如 here

很遗憾,使用QPhongAlphaMaterial 为在背景图像上绘制的对象添加透明度效果并不理想。

这是结果:

这里你看不到的是整个圆圈部分实际上是透明的,即渲染器为整个像素写入了对象的透明度值,而不是透明地添加到背景之上。

这是渲染对象在不透明的情况下的样子:

这是背景:

framegraph 有两个分支:一个用于背景图像,首先处理它,另一个用于对象。我为包含 QBlendEquation 的对象添加了一个 QRenderStateSet,混合函数设置为添加,QBlendEquationArguments 源 RGB 和 alpha 设置为 1,目标 RGB 和 alpha 设置为 1 减去源 alpha。

任何想法如何解决这个问题?

(对于任何想知道的人,我从T-Less dataset 获取图像并编写了一个程序来创建用于 6D 姿态估计的真实数据)

【问题讨论】:

    标签: qt transparency qt3d


    【解决方案1】:

    this question 类似,需要将要渲染的纹理格式设置为RGB8_UNorm 而不是RGBA8_UNorm,即没有alpha 通道。

    【讨论】:

      猜你喜欢
      • 2014-08-12
      • 2016-08-25
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      • 2012-12-11
      • 1970-01-01
      相关资源
      最近更新 更多