Subversion Repositories gelsvn

Rev

Rev 393 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 393 Rev 395
1
#version 120
1
#version 120
2
#extension GL_EXT_gpu_shader4 : enable
2
#extension GL_EXT_gpu_shader4 : enable
3
 
3
 
4
varying vec3 normal;
4
varying vec3 normal;
5
varying float eig;
5
varying float eig;
6
varying float eig2;
6
varying float eig2;
7
uniform float eig_max;
7
uniform float eig_max;
8
uniform float eig_max2;
8
uniform float eig_max2;
9
uniform bool do_highlight;
9
uniform bool do_highlight;
10
uniform bool do_diffuse;
10
uniform bool do_diffuse;
11
const vec3 light_dir = vec3(0,0,1);
11
const vec3 light_dir = vec3(0,0,1);
12
 
12
 
13
void main()
13
void main()
14
{
14
{
15
  float dot_ln = dot(light_dir, normal);
15
  float dot_ln = dot(light_dir, normal);
16
 
16
 
17
  float eig_norm = eig/eig_max;
17
  float eig_norm = eig/eig_max;
18
  float stripe_signal = 100 * eig_norm;
18
  float stripe_signal = 100 * eig_norm;
19
  vec4 stripe_col = abs(stripe_signal) < 3.14 ? vec4(1,1,0,0) : vec4(.1,.1,.1,0);
19
  vec4 stripe_col = abs(stripe_signal) < 3.14 ? vec4(1,1,0,0) : vec4(.1,.1,.1,0);
20
 
20
 
21
  gl_FragColor = eig_norm * vec4(-1,0,1,0);
21
  gl_FragColor = eig_norm * vec4(-1,0,1,0);
22
  if(do_diffuse)   gl_FragColor *= dot_ln;
22
  if(do_diffuse)   gl_FragColor *= dot_ln;
23
  if(do_highlight) gl_FragColor += pow(dot_ln,10)*vec4(.5,.5,.5,0);
23
  if(do_highlight) gl_FragColor += dot_ln*dot_ln*dot_ln*dot_ln*dot_ln*dot_ln*dot_ln*vec4(.5,.5,.5,0);
24
  gl_FragColor += stripe_col * smoothstep(0.8,1,cos(stripe_signal));
24
  gl_FragColor += stripe_col * smoothstep(0.8,1.0,cos(stripe_signal));
25
}
25
}
26
 
26
 
27
/*/
27
/*/
28
void main()
28
void main()
29
{
29
{
30
 float dot_ln = dot(light_dir, normal);
30
 float dot_ln = dot(light_dir, normal);
31
 
31
 
32
  float eig_norm = eig/eig_max;
32
  float eig_norm = eig/eig_max;
33
  float stripe_signal = 100 * eig_norm;
33
  float stripe_signal = 100 * eig_norm;
34
  float eig_norm2 = eig2/eig_max2;
34
  float eig_norm2 = eig2/eig_max2;
35
  float stripe_signal2 = 60 * eig_norm2;
35
  float stripe_signal2 = 60 * eig_norm2;
36
 
36
 
37
  bool a = cos(stripe_signal)>0;
37
  bool a = cos(stripe_signal)>0;
38
  bool b = cos(stripe_signal2)>0;
38
  bool b = cos(stripe_signal2)>0;
39
  gl_FragColor = vec4(.1,0.6,.2,0) * ((a && b || !a && !b)?1.0:0.0);
39
  gl_FragColor = vec4(.1,0.6,.2,0) * ((a && b || !a && !b)?1.0:0.0);
40
  if(do_diffuse)   gl_FragColor *= dot_ln;
40
  if(do_diffuse)   gl_FragColor *= dot_ln;
41
 
41
 
42
}*/
42
}*/
43
 
43
 
44

Generated by GNU Enscript 1.6.6.
44

Generated by GNU Enscript 1.6.6.
45
 
45
 
46
 
46
 
47
 
47