123456789101112131415161718192021222324252627282930313233343536 |
- //
- // Fragment shader for procedural bricks
- //
- // Authors: Dave Baldwin, Steve Koren, Randi Rost
- // based on a shader by Darwyn Peachey
- //
- // Copyright (c) 2002-2006 3Dlabs Inc. Ltd.
- //
- // See 3Dlabs-License.txt for license information
- //
-
- uniform vec3 BrickColor, MortarColor;
- uniform vec2 BrickSize;
- uniform vec2 BrickPct;
-
- varying vec2 MCposition;
- varying float LightIntensity;
-
- void main()
- {
- vec3 color;
- vec2 position, useBrick;
-
- position = MCposition / BrickSize;
-
- if (fract(position.y * 0.5) > 0.5)
- position.x += 0.5;
-
- position = fract(position);
-
- useBrick = step(position, BrickPct);
-
- color = mix(MortarColor, BrickColor, useBrick.x * useBrick.y);
- color *= LightIntensity;
- gl_FragColor = vec4(color, 1.0);
- }
|