mirror of https://github.com/qt/qtdoc.git
26 lines
1023 B
GLSL
26 lines
1023 B
GLSL
// Copyright (C) 2023 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
|
|
VARYING vec4 color;
|
|
|
|
float rectangle(vec2 samplePosition, vec2 halfSize) {
|
|
vec2 componentWiseEdgeDistance = abs(samplePosition) - halfSize;
|
|
float outsideDistance = length(max(componentWiseEdgeDistance, 0.0));
|
|
float insideDistance = min(max(componentWiseEdgeDistance.x, componentWiseEdgeDistance.y), 0.0);
|
|
return outsideDistance + insideDistance;
|
|
}
|
|
|
|
void MAIN() {
|
|
vec2 tc = UV0;
|
|
vec2 uv = fract(tc * UV1.x); //UV1.x number of levels
|
|
uv = uv * 2.0 - 1.0;
|
|
uv.x = 0.0;
|
|
uv.y = smoothstep(0.0, 0.2, rectangle( vec2(uv.x, uv.y + 0.5), vec2(0.2)) );
|
|
BASE_COLOR = vec4(color.xyz * mix( clamp( ( vec3( 0.4, 0.4, 0.4 ) + tc.y)
|
|
* ( vec3( 0.6, 0.6, 0.6 ) + uv.y)
|
|
, 0.0, 1.0), vec3(1.0), UV1.y ), 1.0); // UV1.y as is roofTop
|
|
ROUGHNESS = 0.3;
|
|
METALNESS = 0.0;
|
|
FRESNEL_POWER = 1.0;
|
|
}
|