Image2D in compute shader
<p>I want to use image2D as 2D storage for vertices which will be modified by compute shader but things doesnt work.</p>

<p>Create textures:</p>

<pre><code>glGenTextures(1, &amp;HeightMap);
glBindTexture(GL_TEXTURE_2D, HeightMap);
glTexImage2D(GL_TEXTURE_2D, 0,GL_RGBA32F, 513, 513, 0,GL_RGBA32F, GL_UNSIGNED_BYTE, 0);
</code></pre>

<p>Use and dispatch compute shader:</p>

<pre><code>glUseProgram(ComputeProgram);
glActiveTexture(GL_TEXTURE0);
glBindImageTexture(0, HeightMap, 0, GL_FALSE, 0, GL_READ_WRITE, GL_RGBA32F);
glDispatchCompute(1, 1, 1 );
glMemoryBarrier( GL_ALL_BARRIER_BITS );
</code></pre>

<p>And compute shader:</p>

<pre><code>    #version 430 core
layout( std430, binding=1 ) buffer VertBuffer
    {
    vec4 Positions[ ]; 
    };
layout( local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
layout (binding=0, rgba32f)  uniform image2D HeightMap;
void main (void)
{
    imageStore(HeightMap, ivec2(0,0),vec4(0,0,0,1));
    Positions[0]=imageLoad(HeightMap, ivec2(0,0)).rgba;
}
</code></pre>