diff options
Diffstat (limited to 'source/blender/gpu/shaders/gpu_shader_smoke_frag.glsl')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_smoke_frag.glsl | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_smoke_frag.glsl b/source/blender/gpu/shaders/gpu_shader_smoke_frag.glsl index 6ded453225e..b57bd5b6a37 100644 --- a/source/blender/gpu/shaders/gpu_shader_smoke_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_smoke_frag.glsl @@ -1,5 +1,6 @@ -varying vec3 coords; +in vec3 coords; +out vec4 fragColor; uniform vec3 active_color; uniform float step_size; @@ -16,7 +17,7 @@ uniform sampler3D color_band_texture; void main() { /* compute color and density from volume texture */ - vec4 soot = texture3D(soot_texture, coords); + vec4 soot = texture(soot_texture, coords); #ifndef USE_COBA vec3 soot_color; @@ -24,7 +25,7 @@ void main() soot_color = active_color * soot.rgb / soot.a; } else { - soot_color = vec3(0, 0, 0); + soot_color = vec3(0); } float soot_density = density_scale * soot.a; @@ -33,16 +34,14 @@ void main() float soot_alpha = 1.0 - soot_transmittance; /* shade */ - float shadow = texture3D(shadow_texture, coords).r; + float shadow = texture(shadow_texture, coords).r; soot_color *= soot_transmittance * shadow; /* premultiply alpha */ - vec4 color = vec4(soot_alpha * soot_color, soot_alpha); + fragColor = vec4(soot_alpha * soot_color, soot_alpha); #else - float color_band = texture3D(color_band_texture, coords).r; - vec4 transfer_function = texture1D(transfer_texture, color_band); - vec4 color = transfer_function * density_scale; + float color_band = texture(color_band_texture, coords).r; + vec4 transfer_function = texture(transfer_texture, color_band); + fragColor = transfer_function * density_scale; #endif - - gl_FragColor = color; } |