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

Quick3D API Review Result

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: P1: Critical P1: Critical
    • None
    • 5.14.0 Beta2
    • Quick: 3D
    • None
    • Qt Quick 3D - wk 45/46

      Below is the notes from the API review session. Please add comment and discuss as needed, I might have missed something

      To start a task, edit this description and mark the bullet point(s) you intend to work on by marking the text with strikethrough and create a sub-task for those as needed.

      QQuick3DViewport

      • Enum for renderMode: remove prefix (RenderMode). Rename Texture -> Offscreen, RenderNode -> Inline.
      • WireFrameMode, change/remove?
      • ref. scene and scene -> look at unifying the two, or find a better name (e.g., combined scene or something)
      • Make the data property a private property (designable?)

      QQuick3DNode

      • Orientation -> move out to be application (or scene) global. Document what the expectation is (leave it as-is for now, due to the risk and amount of work? needs to be fixed at some point).
      • Only have the Orientation for the mesh and, let the backend handle this, leaving all frontend nodes to be in a fixed orientation?
      • Should QtQuick3D be left-handed or right-handed? QtQuick is Right-Handed, which suggest that QtQuick3D should be the same so that end up with a coherent solution once we start merging the two. E.g a higher z value on a QQuickItem means that it should be in front of an item with a lower z. This should also be the case for two 3D nodes if you render a 3D scene in orthographic projection? This is not the case if the system is Left-Handed.
      • Remove propertyChanged signal arguments, since the add (hidden) variables to the QML context that overshadows the properties itself.
      • Rename XXXInScene -> sceneXXX?
      • globalTransform -> sceneTransform (sceneScale consider strange?).
      • Remove the boneId property, we don’t actually support this now.
      • Const usage in the mapping functions

      QQuick3DCamera

      • isFieldOfViewHorizontal -> enum? name -> orientation?
      • Split camera into: default, custom, frustum? (Some controversy as having more classes seen as a positive by all).

      Lights (General)

      • Have ambient light as a global env. property

      QQuick3DAreaLight

      • specularColor (remove), ambientColor (Should be its own light type).
      • shadowMapResolution -> enum (pow of 2)
      • castShadow -> cast(s)Shadow

      QQuick3DPointLight

      • diffuseColor, should it be just color or diffuse?

      QQuickDirectionalLight

      • -a-ok?-
      • Similarly to other lights just one color property.

      QQuick3DMaterial

      • Consider if we still want this abstraction.
      • Remove the emissiveMap2
      • Abbreviation IBL etc.

      QQuickDefaultMaterial

      • Rename to StandardMaterial or something else?
      • Simplify and let the PrincipledMaterial be the one to rule them all? remove fresnel?
      • Remove prefix on enum(s)
      • culling mode -> internal
      • VertexColor/vertexLighting doesn’t work
      • remove enum prefixing
      • remove the diffuse map 2 and 3
      • change emissivePower -> factor
      • Document the specular functions we have
      • Blend mode “Normal” -> SourceOver
      • vertexColors -> useVertexColors
      • remove diffuseLightWrap -> remove? we don’t know what this actually does. Affected by the translucency map?
      • Document the bumpAmount affecting both the normal map and bump amount, also if both maps are provided only one is used (normal map?)

      QQuickPrincipledMaterial

      • Remove enum prefix

      QQuickCustomMaterial

      • Lots of naming fixes
      • Needs documentation done in docs task
      • Remove layers
      • Move custom material to material library and rename it to QtQuick3D.Materials

      QQuick3dEffect

      • Remove, not used -> backend code needs work

      QQuick3DModel

      • Remove skeletonRoot
      • Fix enum prefixing
      • tess -> tessellation
      • Move the orientation to the mode (see Node)?

      QQuick3DPickResult

      • position -> uvPosition
      • Add function for getting the global position of the hit.

      QQuick3DSceneEnvironment

      • Remove effects
      • Expend abbreviation (ao etc)
      • Remove probe2?
      • IBL -> Ibl / ImageBaseLighting
      • disable -> enabled: e.g., isDepthTestDisabled -> depthTestEnabled
      • Brightness -> Exposure? (large task, maybe just document it?)
      • lightProbe -> should we just call it environmentMap?
      • shadow properties, move to the light (remove, shadowDistance, strength etc.)?

      QQuick3DTexture

      • MappingMode::Normal -> Uv
      • TilingMode::Unknown -> remove?

        1.
        Split QQuick3DCamera into subclasses Technical task Closed Tomi Korpipää
        2.
        Light related changes Technical task Closed Antti Määttä
        3.
        QtQuick3DNode: Rename XXXInScene -> sceneXXX Technical task Closed Richard Moe Gustavsen
        4.
        QtQuick3DNode: Const usage in the mapping functions Technical task Closed Richard Moe Gustavsen
        5.
        QtQuick3DNode: Remove the boneId property Technical task Closed Richard Moe Gustavsen
        6.
        QtQuick3DNode: globalTransform -> sceneTransform Technical task Closed Richard Moe Gustavsen
        7.
        QtQuick3DMaterial: API related changes Technical task Closed Christian
        8.
        QQuick3DSceneEnvironment: API changes Technical task Closed Jere Tuliniemi
        9.
        QQuick3DTexture : Change Enums Technical task Closed Inho Lee
        10.
        QQuick3DPickResult : Implementing a new function for global position. Technical task Closed Inho Lee
        11.
        QtQuick3DMaterial: Remove emissiveMap2 Technical task Closed Christian
        12.
        Material: Rename default material to standard material Technical task Closed Christian
        13.
        Material: Fix enum prefixing in the default material Technical task Closed Christian
        14.
        Material: Remove diffuse map2&3 from default material Technical task Closed Christian
        15.
        Material: Rename emissivePower to emissiveFactor in the default material Technical task Closed Christian
        16.
        Material: Remove the emissivePower property from the principled material Technical task Closed Christian
        17.
        QQuick3DEffect: remove Technical task Closed Antti Määttä
        18.
        QQuick3DViewport modification Technical task Closed Inho Lee
        19.
        Material: Fix enum prefixing in the principled material Technical task Closed Christian
        20.
        Material: Rename vertexColors property to useVertexColors the default material Technical task Closed Christian
        21.
        CustomMaterial: Remove layers Technical task Closed Antti Määttä
        22.
        QtQuick3DModel: Remove skeletonRoot, fix enum prefixing, naming changes Technical task Closed Janne Kangas
        23.
        Material: fix emissive factor assert in the studio example Technical task Closed Christian
        24.
        Remove all propertyChanged signal arguments Technical task Closed Richard Moe Gustavsen
        25.
        CustomMaterials: Move to material library and rename Technical task Closed Antti Määttä
        26.
        CustomMaterials: Rename classes Technical task Closed Antti Määttä
        27.
        Custom Material: Remove unused flags and methods Technical task Closed Antti Määttä
        28.
        QtQuick3DMaterial: Rename iblProbe to lightProbe Technical task Closed Christian
        29.
        Custom Materials: Rename properties and enums Technical task Closed Antti Määttä
        30.
        Rename BlendMode enum "Normal" to SourceOver Technical task Closed Christian
        For Gerrit Dashboard: QTBUG-79392
        # Subject Branch Project Status CR V

            janichol Andy Nichols
            stromme Christian
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes