- Qt 6.6
- 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

     void MAIN()
     {
         SPECULAR_AMOUNT = 1.0;
         ROUGHNESS = 0.5;
         BASE_COLOR = uDiffuse;
     }

     void AMBIENT_LIGHT()
     {
         DIFFUSE += uDiffuse.rgb * TOTAL_AMBIENT_COLOR;
     }

     void DIRECTIONAL_LIGHT()
     {
         DIFFUSE += uDiffuse.rgb * LIGHT_COLOR * SHADOW_CONTRIB * vec3(max(0.0, dot(normalize(NORMAL), TO_LIGHT_DIR)));
     }

     void POINT_LIGHT()
     {
         DIFFUSE += uDiffuse.rgb * LIGHT_COLOR * LIGHT_ATTENUATION * SHADOW_CONTRIB * vec3(max(0.0, dot(normalize(NORMAL), TO_LIGHT_DIR)));
     }

     void SPOT_LIGHT()
     {
          DIFFUSE += uDiffuse.rgb * LIGHT_COLOR * LIGHT_ATTENUATION * SPOT_FACTOR * SHADOW_CONTRIB * vec3(max(0.0, dot(normalize(VAR_WORLD_NORMAL), TO_LIGHT_DIR)));
     }