glviewvol

annotate sdr/fast.p.glsl @ 8:fb6d93471352

main thing done
author John Tsiombikas <nuclear@member.fsf.org>
date Tue, 30 Dec 2014 20:03:32 +0200
parents 04330eb80b36
children 931a6b35f1cd
rev   line source
nuclear@4 1 uniform sampler3D vol_tex;
nuclear@4 2 uniform sampler1D xfer_tex;
nuclear@4 3
nuclear@4 4 void main()
nuclear@4 5 {
nuclear@8 6 vec3 tc = gl_TexCoord[0].xyz;
nuclear@8 7 float max_manh_dist = max(tc.x, max(tc.y, tc.z));
nuclear@8 8 float min_manh_dist = min(tc.x, min(tc.y, tc.z));
nuclear@8 9 float border = step(0.0, min_manh_dist) * (1.0 - step(1.0, max_manh_dist));
nuclear@8 10
nuclear@4 11 vec4 voxel = texture3D(vol_tex, gl_TexCoord[0].xyz);
nuclear@4 12 vec4 color = texture1D(xfer_tex, voxel.a);
nuclear@4 13
nuclear@8 14 float alpha = color.a * border;
nuclear@8 15 if(alpha < 0.001) discard;
nuclear@8 16
nuclear@8 17 gl_FragColor.rgb = voxel.rgb;
nuclear@8 18 gl_FragColor.a = alpha;
nuclear@4 19 }