【问题标题】:How to make transparent lines in a mesh using Qt3D?如何使用 Qt3D 在网格中制作透明线?
【发布时间】:2021-04-16 14:52:13
【问题描述】:

我正在使用 Qt3D 来绘制线条,并使用 QPerVertexColorMaterial 方法来提高效率(代码示例请参见此处:How to optimize point cloud rendering in Qt3D)。

我为颜色属性 (rgba) 定义了 4 个顶点的大小,因为我想修改特定行的透明度。但是修改 alpha 值似乎对显示没有影响。

是否可以使用 Qt3D 中的 QPerVertexColorMaterial 实现来做到这一点?

【问题讨论】:

    标签: opengl 3d qt3d


    【解决方案1】:

    虽然您可以为顶点提供具有适当 alpha 值的颜色属性,但 QPerVertexColorMaterial 本身并没有实现 alpha 混合。 查看qt/qt3d/src/extras/defaults/qphongalphamaterial.cpp 下的QPhongAlphaMaterial,了解处理透明度需要什么。

    【讨论】:

    • 所以你确认不能用 QPerVertexColorMaterial 处理透明度,我需要创建一个特定的材料来做到这一点?
    • 没错,就是这个意思。
    • 感谢您的帮助。我很惊讶地发现关于这种需求的信息如此之少。我觉得这是一个非常基本的功能,想知道 Qt3d 用户通常如何解决它。当然,我们可以逐个实体地管理透明度,但这样做时,我注意到显示速度大大降低。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 2018-01-08
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多