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
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            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