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

Quick3D API Review Result

    XMLWordPrintable

Details

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

    Description

      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?

      Attachments

        Issue Links

          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.

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes