aboutsummaryrefslogtreecommitdiffstats
path: root/src/runtimerender/res/effectlib/funcspecularBSDF.glsllib
blob: 1cb24d514bc404b77afefac4e0263ed0bef64f7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

// Blinn-Phong
vec4 qt_specularBSDF(in vec3 N, in vec3 L, in vec3 V, in vec3 lightSpecular, in float shininess)
{
    vec4 rgba = vec4(0.0, 0.0, 0.0, 1.0);
    vec3 H = normalize(V + L);
    float cosAlpha = max(0.0, dot(H, N));
    float shine = pow(cosAlpha, shininess);
    rgba.rgb = shine * lightSpecular;
    return rgba;
}