Displacement from a texture in glsl
<p>This is my vertex shader and what I expect from it is to have a correct displacement from a texture. What it does though is taking <strong>every</strong> vertices of my plane upward to a same level</p>

<pre><code>uniform sampler2D clouds    
void main()
{
    vec4 position = gl_Vertex;
    vec2 uv = gl_MultiTexCoord0.st;
    position.z = position.z + texture(clouds, uv.st);
    gl_Position = gl_ModelViewProjectionMatrix * position; 
}
</code></pre>