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

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: