diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick3D/propertyGroups.json b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick3D/propertyGroups.json new file mode 100644 index 00000000000..13e03b71471 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick3D/propertyGroups.json @@ -0,0 +1,55 @@ +{ + "Material": { + "Base": ["lightProbe", "cullMode", "depthDrawMode"] + }, + "DefaultMaterial": { + "Base": ["lighting", "blendMode", "vertexColorsEnabled", "pointSize", "lineWidth"], + "Diffuse": ["diffuseColor", "diffuseMap"], + "Emissive": ["emissiveFactor.x", "emissiveFactor.y", "emissiveFactor.z", "emissiveMap"], + "Specular": ["specularTint", "specularAmount", "specularMap", "specularModel", "specularReflectionMap", "indexOfRefraction", "fresnelPower", "specularRoughness", "roughnessMap", "roughnessChannel"], + "Opacity": ["opacity", "opacityMap", "opacityChannel"], + "Bump / Normal": ["bumpAmount", "bumpMap", "normalMap"], + "Translucency": ["translucentFalloff", "diffuseLightWrap", "translucencyMap", "translucencyChannel"] + }, + "PrincipledMaterial": { + "Base": ["alphaMode", "blendMode", "lighting"], + "Base Color": ["baseColor", "baseColorMap", "baseColorSingleChannelEnabled", "baseColorChannel"], + "Metalness": ["metalness", "metalnessMap", "metalnessChannel"], + "Roughness": ["roughness", "roughnessMap", "roughnessChannel"], + "Normal": ["normalMap", "normalStrength"], + "Occlusion": ["occlusionAmount", "occlusionMap", "occlusionChannel"], + "Opacity": ["opacity", "opacityMap", "opacityChannel", "invertOpacityMapValue"], + "Emissive": ["emissiveMap", "emissiveFactor.x", "emissiveFactor.y", "emissiveFactor.z", "emissiveSingleChannelEnabled", "emissiveChannel"], + "Height": ["heightAmount", "heightMap", "heightChannel", "minHeightMapSamples", "maxHeightMapSamples"], + "Clearcoat": ["clearcoatAmount", "clearcoatMap", "clearcoatChannel", "clearcoatRoughnessAmount", "clearcoatRoughnessMap", "clearcoatRoughnessChannel", "clearcoatNormalMap", "clearcoatNormalStrength", "clearcoatFresnelPower", "clearcoatFresnelScaleBiasEnabled", "clearcoatFresnelScale", "clearcoatFresnelBias"], + "Refraction": ["transmissionFactor", "transmissionMap", "transmissionChannel", "indexOfRefraction", "thicknessFactor", "thicknessMap", "thicknessChannel", "attenuationColor", "attenuationDistance"], + "Fresnel": ["fresnelPower", "fresnelScaleBiasEnabled", "fresnelScale", "fresnelBias"], + "Vertex Color": ["vertexColorsEnabled", "vertexColorsMaskEnabled", "vertexColorRedMask", "vertexColorGreenMask", "vertexColorBlueMask", "vertexColorAlphaMask"], + "Advanced": ["pointSize", "lineWidth"], + "Overrides": ["specularAmount", "specularMap", "specularSingleChannelEnabled", "specularChannel", "specularTint", "specularReflectionMap"] + }, + "SpecularGlossyMaterial": { + "Base": ["alphaMode", "blendMode", "lighting"], + "Albedo": ["albedoColor", "albedoMap", "albedoSingleChannelEnabled", "albedoChannel"], + "Specular": ["specularColor", "specularMap", "specularSingleChannelEnabled", "specularChannel"], + "Glossiness": ["glossiness", "glossinessMap", "glossinessChannel"], + "Normal": ["normalMap", "normalStrength"], + "Occlusion": ["occlusionAmount", "occlusionMap", "occlusionChannel"], + "Opacity": ["opacity", "opacityMap", "opacityChannel", "invertOpacityMapValue"], + "Emissive": ["emissiveMap", "emissiveFactor.x", "emissiveFactor.y", "emissiveFactor.z", "emissiveSingleChannelEnabled", "emissiveChannel"], + "Height": ["heightAmount", "heightMap", "heightChannel", "minHeightMapSamples", "maxHeightMapSamples"], + "Clearcoat": ["clearcoatAmount", "clearcoatMap", "clearcoatChannel", "clearcoatRoughnessAmount", "clearcoatRoughnessMap", "clearcoatRoughnessChannel", "clearcoatNormalMap", "clearcoatNormalStrength", "clearcoatFresnelPower", "clearcoatFresnelScaleBiasEnabled", "clearcoatFresnelScale", "clearcoatFresnelBias"], + "Refraction": ["transmissionFactor", "transmissionMap", "transmissionChannel", "thicknessFactor", "thicknessMap", "thicknessChannel", "attenuationColor", "attenuationDistance"], + "Fresnel": ["fresnelPower", "fresnelScaleBiasEnabled", "fresnelScale", "fresnelBias"], + "Vertex Color": ["vertexColorsEnabled", "vertexColorsMaskEnabled", "vertexColorRedMask", "vertexColorGreenMask", "vertexColorBlueMask", "vertexColorAlphaMask"], + "Advanced": ["pointSize", "lineWidth"] + }, + "CustomMaterial": { + "Base": ["shadingMode", "vertexShader", "fragmentShader", "sourceBlend", "destinationBlend", "alwaysDirty", "lineWidth"] + }, + "Model": { + "Base": ["source", "geometry", "materials", "castsShadows", "receivesShadows", "castsReflections", "receivesReflections", "pickable", "depthBias", "levelOfDetailBias"], + "Instancing": ["instancing", "instanceRoot"], + "Animation": ["skeleton", "morphTargets"] + } +} diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp index c34ba7167a8..1c8d15d08a7 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowsermodel.cpp @@ -454,7 +454,7 @@ void MaterialBrowserModel::copyMaterialProperties(int idx, const QString §io } m_copiedMaterialProps.clear(); - for (const PropertyName &propName : copiedProps) { + for (const PropertyName &propName : std::as_const(copiedProps)) { PropertyCopyData data; data.name = propName; data.isValid = m_allPropsCopied || validProps.contains(propName); diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp index 694db4af421..e04855f2fed 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp @@ -497,8 +497,7 @@ void QmlDesigner::MaterialBrowserView::loadPropertyGroups() return; #ifdef QDS_USE_PROJECTSTORAGE - // TODO - QString matPropsPath; + QString matPropsPath = propertyEditorResourcesPath().append("/QtQuick3D/propertyGroups.json"); #else QString matPropsPath = model()->metaInfo("QtQuick3D.Material").importDirectoryPath() + "/designer/propertyGroups.json";