Priority: P1: Critical
Affects Version/s: 5.14.0 Beta2
Fix Version/s: None
Component/s: Quick: 3D
Sprint: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. 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?)
- 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 isFieldOfViewHorizontal -> enum? name -> orientation? Split camera into: default, custom, frustum? (Some controversy as having more classes seen as a positive by all). Have ambient light as a global env. property specularColor (remove), ambientColor (Should be its own light type). shadowMapResolution -> enum (pow of 2) castShadow -> cast(s)Shadow diffuseColor, should it be just color or diffuse?
Similarly to other lights just one color property. Consider if we still want this abstraction. Remove the emissiveMap2 Abbreviation IBL etc. 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?) Remove enum prefix Lots of naming fixes Needs documentationdone in docs task Remove layers Move custom material to material library and rename it to QtQuick3D.Materials Remove, not used -> backend code needs work Remove skeletonRoot Fix enum prefixing tess -> tessellation
- Move the orientation to the mode (see Node)?
position -> uvPosition Add function for getting the global position of the hit. 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.)? MappingMode::Normal -> Uv TilingMode::Unknown -> remove?