Qt Quick 3D 中的 3D“叠加”

问题描述 投票:0回答:1

我正在将 Three.js 应用程序移植到 QML / Qt Quick 3D。

我有以下部分来在所有东西的“顶部”绘制某些东西(3D 对象),即忽略深度顺序(

this
THREE.Object3D
):

if(overlay) {
    this.renderOrder = 999; // render last
    this.material.depthTest = false; // skip depth test
    this.material.depthWrite = false; // don't write to depth
    this.onBeforeRender = function (renderer) {
        renderer.clearDepth(); // clear depth before render
    };
}

如何在 Qt Quick 3D 中实现同样的效果?

qt qtquick3d
1个回答
0
投票

QtQuick 3D 是 QtQuick 的一部分,3D 场景是使用 SceneGraph 渲染的。这意味着如果您想创建“覆盖”,您只需要创建比您的 3D 场景具有更高 z 顺序的任何 QML 项目(不是场景节点的一部分,而是父 QML 项目),并且它将渲染在顶部一切。

© www.soinside.com 2019 - 2024. All rights reserved.