Physically-Based Rendering

Introduction

This page describes how we do Physically based rendering (PBR) in Qt Quick 3D, with a focus on how to use it in your application. PBR is a way of rendering objects with more realistic looking materials by approximating the properties of the physical world. The focus of PBR is on mimicing how physical light interacts with different surfaces and materials. Aside from looking better, it also simplifies the workflow of artist since materials are based on physical parameters, which are more intuitive to use and tweak. Another benefit is that using PBR materials makes the look of imported assets more consistent with how they were designed. If you are interested in the theory behind PBR, see https://learnopengl.com/PBR/Theory and https://academy.substance3d.com/courses/the-pbr-guide-part-1 for an in-depth explanation.

Materials

For a Model to be rendered in a scene, it must have a material attached to it. There are three types of material in Qt Quick 3D, namely CustomMaterial, DefaultMaterial and PrincipledMaterial. DefaultMaterial is a specular/glossiness material model, PrincipledMaterial is a metallic/roughness material model and CustomMaterial is a material customizable with user-provided shaders. The table below shows how DefaultMaterial and PrincipledMaterial can look and what high-level properties are used to describe them:

PrincipledMaterial (Metallic-Roughness)DefaultMaterial (Specular-Glossiness)

"PrincipledMaterial"

"DefaultMaterial"

  • Base color
  • Metalness
  • Roughness
  • Diffuse color
  • Specular color
  • Glossiness (inverted roughness)

For more examples, see Qt Quick 3D - Principled Material Example and Qt Quick 3D - Custom Materials Example.