Qt Quick 3D - Custom Materials Example | Qt Quick 3D 5.14.2

Qt 5.14 | Qt Quick 3D | Qt Quick 3D - Custom Materials Example

Qt 5.14.2 Reference Documentation

# 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"
          }
          multisampleAAMode: SceneEnvironment.SSAA
      }

#### 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