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 } |