volmetrics

annotate data/shaders/transfer.f.glsl @ 35:df4a277adb82

port to macosx
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 06 Feb 2015 21:15:23 +0200
parents
children
rev   line source
elene@24 1 uniform sampler3D tex;
elene@24 2 uniform float tmin;
elene@24 3 uniform float tmax;
elene@24 4
elene@24 5 float transfer(float x, float tmin, float tmax)
elene@24 6 {
elene@24 7 float dt = 0.25 * (tmax - tmin);
elene@24 8 return smoothstep(tmin - dt, tmin + dt, x) *
elene@24 9 (1.0 - smoothstep(tmax - dt, tmax + dt, x));
elene@24 10 }
elene@24 11
elene@24 12 void main()
elene@24 13 {
elene@24 14 float texel = texture3D(tex, gl_TexCoord[0].xyz).x;
elene@24 15 float val = transfer(texel, tmin, tmax);
elene@24 16
elene@24 17 gl_FragColor = vec4(val, val, val, 1.0);
elene@24 18 }