Source code

Revision control

Copy as Markdown

Other Tools

/*
Copyright (c) 2019 The Khronos Group Inc.
Use of this source code is governed by an MIT-style license that can be
found in the LICENSE.txt file.
*/
#ifdef GL_ES
precision mediump float;
#endif
uniform float mortarThickness;
uniform vec3 brickColor;
uniform vec3 mortarColor;
uniform float brickMortarWidth;
uniform float brickMortarHeight;
uniform float mwf;
uniform float mhf;
varying vec3 Position;
varying float lightIntensity;
void main (void)
{
vec3 ct;
float ss, tt, w, h;
vec3 pos = Position;
ss = pos.x / brickMortarWidth;
tt = pos.z / brickMortarHeight;
if (fract (tt * 0.5) > 0.5)
ss += 0.5;
ss = fract (ss);
tt = fract (tt);
w = step (mwf, ss) - step (1.0 - mwf, ss);
h = step (mhf, tt) - step (1.0 - mhf, tt);
ct = clamp(mix (mortarColor, brickColor, w * h) * lightIntensity, 0.0, 1.0);
gl_FragColor = vec4 (ct, 1.0);
}