OSDN Git Service

f14bc1193f28400ce5b5f14ff36105d9a9aafab5
[mikumikustudio/MikuMikuStudio.git] / src / jmetest / data / images / shader.frag
1 //\r
2 // Fragment shader for procedural bricks\r
3 //\r
4 // Authors: Dave Baldwin, Steve Koren, Randi Rost\r
5 //          based on a shader by Darwyn Peachey\r
6 //\r
7 // Copyright (c) 2002-2004 3Dlabs Inc. Ltd. \r
8 //\r
9 // See 3Dlabs-License.txt for license information\r
10 //\r
11 \r
12 uniform vec3  BrickColor, MortarColor;\r
13 uniform vec2  BrickSize;\r
14 uniform vec2  BrickPct;\r
15 \r
16 varying vec2  MCposition;\r
17 varying float LightIntensity;\r
18 \r
19 void main(void)\r
20 {\r
21     vec3  color;\r
22     vec2  position, useBrick;\r
23     \r
24     position = MCposition / BrickSize;\r
25 \r
26     if (fract(position.y * 0.5) > 0.5)\r
27         position.x += 0.5;\r
28 \r
29     position = fract(position);\r
30 \r
31     useBrick = step(position, BrickPct);\r
32 \r
33     color  = mix(MortarColor, BrickColor, useBrick.x * useBrick.y);\r
34     color *= LightIntensity;\r
35     gl_FragColor = vec4 (color, 1.0);\r
36 }