- Qt 5.15
- Qt Quick 3D
- Qt Quick 3D Examples and Tutorials
- Qt Quick 3D - Custom Materials Example
- Qt Quick 3D | Commercial or GPLv3

# Qt Quick 3D - Custom Materials Example

Demonstrates the use of some Material Library materials.

This example demonstrates using four different Material Library custom materials in an application.

#### Setting the Scene Environment

We want to use a light probe, as we're going to use some reflective materials. We need to enable light probe and adjust its settings to get the result we want.

     environment: SceneEnvironment {
         clearColor: "#848895"
         backgroundMode: SceneEnvironment.Color
         probeBrightness: 1000
         lightProbe: Texture {
             source: "maps/OpenfootageNET_garage-1024.hdr"
         }
         antialiasingMode: SceneEnvironment.SSAA
         antialiasingQuality: SceneEnvironment.VeryHigh
     }

#### Material Library Custom Materials

##### Bumpy Aluminum

We're applying AluminumMaterial for the `WeirdShape` model we have created in `WeirdShape.qml`. We'll adjust its bumpiness to make it look battered or cast, instead of smooth and polished.

     WeirdShape {
         customMaterial: AluminumMaterial {
             bump_amount: 5.0
         }
         position: Qt.vector3d(150, 150, -100)
     }

##### Copper

Next we apply unmodified CopperMaterial for another `WeirdShape`.

     WeirdShape {
         customMaterial: CopperMaterial {}
         position: Qt.vector3d(-150, -150, -100)
     }

##### Frosted Glass

We'll apply FrostedGlassSinglePassMaterial for one of the spheres, and adjust its roughness, reflectivity, index of refraction, and color a little bit.

     Model {
         position: Qt.vector3d(-300, 0, 100)
         scale: Qt.vector3d(2.5, 2.5, 2.5)
         source: "#Sphere"
         materials: [ FrostedGlassSinglePassMaterial {
                 roughness: 0.1
                 reflectivity_amount: 0.9
                 glass_ior: 1.9
                 glass_color: Qt.vector3d(0.85, 0.85, 0.9)
             }
         ]
     }

##### Plastic

For the other sphere we'll apply PlasticStructuredRedMaterial, and adjust its index of refraction and bumpiness a bit.

     Model {
         position: Qt.vector3d(300, 0, 100)
         scale: Qt.vector3d(2.5, 2.5, 2.5)
         source: "#Sphere"
         materials: [ PlasticStructuredRedMaterial {
                 material_ior: 1.55
                 bump_factor: 0.1
             }
         ]
     }

Files:

- custommaterial/WeirdShape.qml
- custommaterial/custommaterial.pro
- custommaterial/main.cpp
- custommaterial/main.qml
- custommaterial/materials.qrc
- custommaterial/qml.qrc