Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-18692

Item3D Scenegraph Management

    XMLWordPrintable

Details

    • Task
    • Resolution: Out of scope
    • P2: Important
    • 5.7.1
    • None
    • Qt3D

    Description

      Integrate and Manage Scenegraphs and Item Trees

      In Qt5 a Qt Quick 3D app features these data structures in its runtime:

      • an SGItem tree from QtDeclarative
        • a QDeclarativeItem3D tree (which inherits from SGItem)
      • an SGNode tree from QtDeclarative Scenegraph
      • a QGLSceneNode tree from Qt3D

      In order to manage resources, handle dynamic creation and improve performance these structures need to be managed by having one drive the others so they are in sync, and frame refreshes are done quickly. Good design, re-use and refactoring should also be done where possible to make new features and bug fixes easier.

      Full Asset Referencing & Utilization

      An Item3D refers to either an asset file (3D model) imported from a file (such as 3ds), or it may be composed from standard shapes. In general these are called Meshes.

      QtQuick3D must easily deal with referencing sub-parts of meshes for more than trivial use-cases. Item3D must be refactored and improved to allow this, and to integrate deeply with the QGLSceneNode graph structure.

      The problem to be solved is on the one hand adding to or modifying the syntax of the Item3D item and its mesh and meshNode property, so that the following use-cases can be acheived:

      • copying one part of a model to several instances
        • eg taking a tree from a scene in a model and making a row of trees
        • eg taking a wheel from a parts library model and putting 4 wheels on a car
      • excising a part or parts from a model and drawing it with seperate behaviour, while the remainder of the model is drawn without having to explicitly define all the nodes
        • eg animating a closing door on a car

      Note that this will be heavily influenced by the Qt Creator integration, which will automatically generate eg Car.qml for a loaded model.

      Care should also be taken that existing behaviour of Item3D is kept as close to what users are familiar with.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              dpope Daniel Pope (closed Nokia identity) (Inactive)
              sarasmit Sarah Smith (closed Nokia identity) (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 3 weeks, 2 days
                  3w 2d
                  Remaining:
                  Remaining Estimate - 3 weeks, 2 days
                  3w 2d
                  Logged:
                  Time Spent - Not Specified
                  Not Specified

                  Gerrit Reviews

                    There are no open Gerrit changes