[Interest] [Qt3D] Mixing Quick3D and C++ nodes

Andy asmaloney at gmail.com
Tue Apr 17 12:36:17 CEST 2018


Didn't get any response, so trying again.

If I'm doing this incorrectly - how would I use QML for creating
framegraphs and swap them into my QRenderSettings in C++?

Thank you.

---
Andy Maloney  //  https://asmaloney.com
twitter ~ @asmaloney <https://twitter.com/asmaloney>


On Sun, Apr 8, 2018 at 1:57 PM, Andy <asmaloney at gmail.com> wrote:

> I want to move my framegraph from C++ to QML. My first step is to
> reproduce what's already happening with the forward renderer.
>
> If I use a QQmlAspectEngine, should I be able to just swap out parts of
> the node hierarchy for Quick3D nodes while leaving other parts C++?
>
> For example, here is the normal tree with a forward renderer & it works:
>
> Debug: Qt3DRender::QRenderSettings::     (:0, (null))
> Debug:     Qt3DRender::QRenderCapture::     (:0, (null))
> Debug:         Qt3DExtras::QForwardRenderer::Forward Renderer     (:0,
> (null))
> Debug:             Qt3DRender::QRenderSurfaceSelector::     (:0, (null))
> Debug:                 Qt3DRender::QViewport::     (:0, (null))
> Debug:                     Qt3DRender::QCameraSelector::     (:0, (null))
> Debug:                         Qt3DRender::QClearBuffers::     (:0, (null))
> Debug:                             Qt3DRender::QFrustumCulling::     (:0,
> (null))
> Debug:             Qt3DRender::QFilterKey::     (:0, (null))
>
> Then I switch out the C++ for the QML (and use setContextProperty() to
> point at my C++ camera):
>
> Debug: Qt3DRender::QRenderSettings::     (:0, (null))
> Debug:     Qt3DRender::QRenderCapture::     (:0, (null))
> Debug:         Qt3DRender::Render::Quick::Quick3DTechniqueFilter::
> (:0, (null))
> Debug:             Qt3DCore::Quick::Quick3DNodeV9::     (:0, (null))
> Debug:             Qt3DRender::QRenderSurfaceSelector::     (:0, (null))
> Debug:                 Qt3DCore::Quick::Quick3DNodeV9::     (:0, (null))
> Debug:                 Qt3DRender::Render::Quick::Quick3DViewport::
> (:0, (null))
> Debug:                     Qt3DCore::Quick::Quick3DNodeV9::     (:0,
> (null))
> Debug:                     Qt3DCore::Quick::Quick3DNode::     (:0,
> (null))           [Note: this is the CameraSelector/camera]
> Debug:                         Qt3DCore::Quick::Quick3DNode::     (:0,
> (null))
> Debug:                         Qt3DRender::QClearBuffers::     (:0, (null))
> Debug:                             Qt3DCore::Quick::Quick3DNodeV9::
> (:0, (null))
> Debug:                             Qt3DRender::QFrustumCulling::     (:0,
> (null))
> Debug:             Qt3DRender::Render::Quick::Quick3DRenderPassFilter::
>     (:0, (null))
> Debug:                 Qt3DRender::Render::Quick::Quick3DRenderPassFilter::
>     (:0, (null))
> Debug:                 Qt3DRender::QFilterKey::     (:0, (null))
>
> This doesn't work - doesn't render anything - am I supposed to be able to
> do this? If so is there anything else I'm supposed to do to tell the engine
> to use both?
>
> (I'm using Qt 5.10.1 on macOS.)
>
> Thank you for any insights.
>
> ---
> Andy Maloney  //  https://asmaloney.com
> twitter ~ @asmaloney <https://twitter.com/asmaloney>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20180417/9a8be991/attachment.html>


More information about the Interest mailing list