Sur cette page

DefaultMaterial QML Type

Vous permet de définir un matériau pour des éléments 3D à l'aide du workflow « spéculaire/brillance ». En savoir plus...

Import Statement: import QtQuick3D
Inherits:

Material

Status: Deprecated since 6.4

Ce type est obsolète depuis QtQuick3D 6.4. Nous vous déconseillons fortement de l'utiliser dans du nouveau code.

Propriétés

Description détaillée

Préférez plutôt utiliser l'interface PrincipledMaterial ou SpecularGlossyMaterial.

Avertissement : ce matériau est fourni uniquement à des fins de compatibilité et ne doit pas être utilisé dans le nouveau code. Préférez utiliser l’ SpecularGlossyMaterial pour créer des matériaux à l’aide du workflow spéculaire/brillance ou l’ PrincipledMaterial pour créer des matériaux à l’aide du workflow métallique/rugosité.

Avant qu’un modèle puisse être rendu dans une scène, il doit être associé à au moins un matériau décrivant la manière dont le maillage doit être ombré. Le DefaultMaterial est un matériau facile à utiliser qui vous permet de définir votre matériau à l’aide d’un workflow de type « spéculaire/brillance ». Ce matériau dispose de paramètres par défaut raisonnables et peut être utilisé pour ombrer un modèle sans modifier aucune propriété.

Workflow spéculaire/brillance

Le matériau par défaut permet de créer des matériaux à l’aide d’un workflow de type « spéculaire/brillance ». Les principales propriétés du matériau sont contrôlées via les propriétés « specular », « roughness » et « diffuse color ».

Spéculaire

La propriété « specular reflectivity » (Réflexion) décrit l’intensité et la couleur de la réflexion sur la surface d’un objet. Pour les matériaux réfléchissants, c’est cette propriété qui détermine principalement la couleur.

Brillance (rugosité)

La brillance d’une surface dépend de son degré de lissage ou d’irrégularité. Une surface lisse produira une réflexion lumineuse plus intense qu’une surface rugueuse, sur laquelle la lumière sera davantage diffusée. Dans le matériau par défaut, la brillance est contrôlée par la propriété « roughness ».

Couleur diffuse

La propriété « diffuse color » (Couleur de base) décrit la couleur de base du matériau. Contrairement à la couleur de base de l’ PrincipledMaterial, la couleur diffuse ne contient aucune information sur la réflectance du matériau. Cependant, pour les surfaces réfléchissantes, la couleur diffuse doit être définie sur une teinte noire, car cela permettra à la couleur spéculaire de jouer son rôle.

Documentation des propriétés

blendMode : enumeration

Cette propriété détermine la manière dont les couleurs du modèle affiché se fondent avec celles de l'arrière-plan.

ConstanteDescription
DefaultMaterial.SourceOverMode de fusion par défaut. Les objets opaques masquent les objets situés derrière eux. Ce mode par défaut ne garantit pas à lui seul la fusion alpha dans le pipeline de rendu pour les modèles utilisant ce matériau ; la décision dépend plutôt d'un certain nombre de facteurs : si l’opacité totale de l’objet et du matériau est d’ 1.0 e et qu’il n’y a pas de cartes de texture dans le matériau contenant des pixels semi-transparents, alors le modèle est traité comme opaque, ce qui signifie qu’il est rendu avec le test de profondeur et l’écriture de profondeur activés, en même temps que les autres objets opaques, le mélange étant désactivé. Dans le cas contraire, le modèle est traité comme semi-transparent et est rendu après les objets opaques, avec les autres objets semi-transparents, dans un ordre de l’arrière vers l’avant en fonction de la distance entre leur centre et la caméra, avec le mélange alpha activé.
DefaultMaterial.ScreenLes couleurs sont mélangées à l’aide d’une multiplication inversée, ce qui produit un résultat plus clair. Ce mode de fusion est indépendant de l’ordre ; si vous utilisez des objets semi-opaques et que vous constatez des effets de « popping » lorsque les faces ou les modèles sont triés différemment, l’utilisation de la fusion « Screen » est un moyen d’obtenir des résultats sans « popping ».
DefaultMaterial.MultiplyLes couleurs sont mélangées à l'aide d'une multiplication, ce qui produit un résultat plus sombre. Ce mode de fusion est également indépendant de l'ordre.

Voir également «Qt Quick 3D Architecture ».

bumpAmount : real

Cette propriété contrôle l'amplitude du déplacement simulé pour les effets « bumpMap » ou « normalMap ». La valeur par défaut est « 0 », ce qui désactive l'effet de relief. La plage de valeurs est comprise entre [0, 1].

bumpMap : Texture

Cette propriété définit une texture en niveaux de gris permettant de simuler un léger déplacement géométrique à la surface du matériau. Les pixels plus clairs indiquent les zones en relief. L'intensité de l'effet est contrôlée par la propriété « bumpAmount ».

Remarque : les cartesde relief n'ont aucune incidence sur la silhouette d'un modèle.

diffuseColor : color

Cette propriété détermine la couleur diffuse (albédo) du matériau. Si vous définissez la couleur diffuse sur une teinte noire, vous obtiendrez un matériau purement spéculaire (par exemple, des métaux ou des miroirs).

diffuseLightWrap : real

Cette propriété détermine l'étendue du « light wrap » (enroulement de la lumière) pour la carte de translucidité. Une valeur de 0 empêche tout enroulement de la lumière, tandis qu'une valeur de 1 provoque un enroulement complet de la lumière autour de l'objet.

diffuseMap : Texture

Cette propriété définit une texture à appliquer au matériau. L'utilisation d'une texture transparente entraînera également l'application du canal alpha en tant que carte d'opacité.

emissiveFactor : vector3d

Cette propriété détermine la couleur de l'auto-illumination de ce matériau. Si une carte d'émission est définie, les composantes x, y et z sont utilisées comme facteurs (multiplicateurs) pour les canaux R, G et B de la texture, respectivement. La valeur par défaut est (0, 0, 0), ce qui signifie qu’il n’y a aucune contribution émissive.

Remarque : si le paramètre lightingModeest défini sur DefaultMaterial.NoLighting, le facteur d'émission n'a aucun effet sur la scène.

emissiveMap : Texture

Cette propriété définit une texture RVB qui servira à déterminer l'intensité de la couleur émissive.

Voir également emissiveFactor.

fresnelPower : real

Cette propriété réduit les reflets frontaux (lorsqu'on regarde directement la surface) tout en conservant les reflets observés sous des angles rasants. La valeur par défaut est « 0 », ce qui désactive l'effet de Fresnel.

indexOfRefraction : real

Cette propriété détermine les angles de réflexion affectés par l'fresnelPower. La valeur par défaut est 1.45. La valeur doit être supérieure ou égale à 1.0.

Remarque : aucun matériau connu dans le monde ne présente un indice de réfraction (ior) nettement supérieur à 3.0.

lighting : enumeration

Cette propriété définit la méthode d'éclairage utilisée lors de la génération de ce matériau.

La valeur par défaut est DefaultMaterial.FragmentLighting

Lorsque l’option « DefaultMaterial.FragmentLighting » est sélectionnée, l’éclairage diffus et spéculaire est calculé pour chaque pixel rendu. Certains effets (tels que les cartes de Fresnel ou de relief) nécessitent l’option « DefaultMaterial.FragmentLighting » pour fonctionner.

Lorsque l’option « DefaultMaterial.NoLighting » est sélectionnée, aucun éclairage n’est calculé. Ce mode est (comme on peut s’y attendre) très rapide et s’avère particulièrement efficace lorsque l’on utilise des images de texture qui ne nécessitent pas d’ombrage par l’éclairage.

ConstantDescription
DefaultMaterial.NoLightingAucun éclairage n’est calculé.
DefaultMaterial.FragmentLightingL'éclairage par fragment est calculé.

lineWidth : real

Cette propriété détermine la largeur des lignes affichées lorsque la géométrie utilise un type de primitive « lignes » ou « bandes de lignes ». La valeur par défaut est 1,0. Cette propriété n'est pas pertinente lors de l'affichage d'autres types de géométrie, tels que les maillages triangulaires.

Avertissement : les largeursde ligne différentes de 1 peuvent ne pas être prises en charge lors de l'exécution, selon l'API graphique sous-jacente. Dans ce cas, la demande de modification de la largeur est ignorée. Par exemple, aucune des API suivantes ne devrait prendre en charge les lignes larges : Direct3D, Metal, OpenGL avec des contextes de profil de base.

Remarque : contrairement à la plupart des autres propriétés de matériau, la largeur de ligne est intégrée en arrière-plan à un objet de pipeline graphique, à l’instar de ` blendMode`. Par conséquent, une valeur différente implique la création d’un nouvel objet de pipeline, ce qui, à long terme, peut s’avérer coûteux (en termes de performances et d’utilisation des ressources) si la propriété est fréquemment modifiée pour prendre de nombreuses valeurs différentes. Par exemple, il est possible d’animer cette propriété, mais cela doit être évité.

normalMap : Texture

Cette propriété définit une image RVB utilisée pour simuler un léger décalage géométrique à la surface du matériau. Les canaux RVB indiquent les écarts normaux selon les axes X, Y et Z. L'intensité de l'effet est contrôlée par la propriété « bumpAmount ».

Remarque : les cartesde normales n'ont aucune incidence sur la silhouette d'un modèle.

opacity : real

Cette propriété réduit l'opacité de ce matériau uniquement, indépendamment du modèle. La valeur par défaut est « 1.0 ». L'intervalle de valeurs est compris entre [0,0] et [1,0].

opacityChannel : enumeration

Cette propriété définit le canal de texture utilisé pour lire la valeur d'opacité à partir de opacityMap. La valeur par défaut est Material.A.

ConstanteDescription
Material.RLire la valeur à partir du canal R de la texture.
Material.GLit la valeur du canal G de la texture.
Material.BLit la valeur du canal B de la texture.
Material.ALit la valeur du canal A de la texture.

opacityMap : Texture

Cette propriété définit une texture permettant de contrôler l'opacité de manière différente selon les différentes parties du matériau.

pointSize : real

Cette propriété détermine la taille des points affichés lorsque la géométrie utilise un type de primitive « points ». La valeur par défaut est 1,0. Cette propriété n'est pas pertinente lors du rendu d'autres types de géométrie, tels que les maillages triangulaires.

Avertissement : les taillesde points différentes de 1 peuvent ne pas être prises en charge lors de l'exécution, selon l'API graphique sous-jacente. Par exemple, définir une taille différente de 1 n'a aucun effet avec Direct 3D.

roughnessChannel : enumeration

Cette propriété définit le canal de texture utilisé pour lire la valeur de rugosité à partir de roughnessMap. La valeur par défaut est Material.R.

ConstanteDescription
Material.RLire la valeur à partir du canal R de la texture.
Material.GLit la valeur du canal G de la texture.
Material.BLit la valeur du canal B de la texture.
Material.ALit la valeur du canal A de la texture.

roughnessMap : Texture

Cette propriété définit une texture permettant de contrôler la rugosité spéculaire du matériau. Si la texture comporte plusieurs canaux (RGBA), il est possible de sélectionner le canal approprié à l'aide de la propriété « roughnessChannel ».

specularAmount : real

Cette propriété contrôle l'intensité de la spécularité (reflets et lueurs). La valeur par défaut est 0, ce qui désactive la spécularité. La plage de valeurs est comprise entre [0,0 et 1,0].

Remarque : cette propriété n'affecte pas la valeur « specularReflectionMap », mais influe sur l'intensité des reflets provenant des « SceneEnvironment::lightProbe » d'une scène.

Remarque : à moins que votre maillage ne soit en haute résolution, vous devrez peut-être utiliser la propriété « DefaultMaterial.FragmentLighting » pour obtenir de bons reflets spéculaires provenant des lumières de la scène.

specularMap : Texture

Cette propriété définit une texture RVB permettant de moduler l'intensité et la couleur de la réflexion spéculaire sur la surface du matériau. Ces valeurs sont multipliées par l'specularAmount.

specularModel : enumeration

Cette propriété détermine les fonctions utilisées pour calculer les reflets spéculaires des lumières de la scène.

ConstanteDescription
DefaultMaterial.DefaultL'éclairage spéculaire utilise le modèle d'éclairage par défaut.
DefaultMaterial.KGGXL'éclairage spéculaire utilise le modèle d'éclairage GGX.

specularReflectionMap : Texture

Cette propriété définit une texture utilisée pour les reflets spéculaires du matériau.

Elle est généralement utilisée pour réaliser un mappage d’environnement : lorsque le modèle pivote, la texture donne l’impression de refléter l’environnement. Pour que cela fonctionne comme prévu, l’ mappingMode de la texture doit être définie sur Texture.Environment. Les textures de réflexion spéculaire constituent un moyen simple d’obtenir un rendu de haute qualité à moindre coût.

Remarque : l’association d’une « light probe » à l’« SceneEnvironment », et donc le recours à l’éclairage basé sur des images, permet d’obtenir des effets de réflexion environnementale similaires. Les sondes de lumière constituent toutefois une solution conceptuellement différente et, en termes de performances, potentiellement plus gourmande en ressources. Chaque approche a ses propres utilisations spécifiques, et le choix de celle à utiliser doit être déterminé au cas par cas. En ce qui concerne la texture définie dans la propriété, specularReflectionMap présente un avantage, car elle n’impose aucune limitation et prend en charge tous les types de textures, y compris celles dont les données proviennent d’une sous-scène d’ Qt Quick via sourceItem.

Remarque : les imagesnettes donnent à votre matériau un aspect très brillant ; plus vous floutez votre image, plus votre matériau paraîtra doux.

Voir également Texture::mappingMode.

specularRoughness : real

Cette propriété contrôle l'intensité des reflets spéculaires générés par les lumières, ainsi que la netteté des reflets en général. Des valeurs plus élevées augmentent la rugosité, adoucissent les reflets spéculaires et rendent les reflets plus flous. La plage de valeurs est comprise entre [0,0 et 1,0]. La valeur par défaut est 0.

specularTint : color

Cette propriété définit une couleur utilisée pour ajuster les reflets spéculaires. Utilisez le blanc pour qu'il n'y ait aucun effet.

translucencyChannel : enumeration

Cette propriété définit le canal de texture utilisé pour lire la valeur de translucidité à partir de translucencyMap. La valeur par défaut est Material.A.

ConstanteDescription
Material.RLire la valeur à partir du canal R de la texture.
Material.GLit la valeur du canal G de la texture.
Material.BLit la valeur du canal B de la texture.
Material.ALit la valeur du canal A de la texture.

translucencyMap : Texture

Cette propriété définit une texture en niveaux de gris qui détermine la quantité de lumière pouvant traverser le matériau depuis l'arrière.

translucentFalloff : real

Cette propriété définit l'intensité de l'atténuation de la translucidité en fonction de l'angle formé par les normales de l'objet par rapport à la source lumineuse.

vertexColorsEnabled : bool

Lorsque cette propriété est activée, le matériau utilisera les couleurs de sommets du maillage. Celles-ci seront multipliées par toute autre couleur spécifiée pour le matériau.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.