Hi there,

I having a problem with Shaders updating VBO, my question is

Can I have a shader that modify the vertex of a mesh and then recover the info of that modified vertex???

and if the answer is YES, How???

What I’m doing is this:

1.- The mesh geometry is in a VBO

2.- I applied the vertex shader to move the vertex…

3.- With glGetBufferData recover the supposing modified mesh data.

But when I check the data is the same as the source data.

I’m not sure that the shader modify the data of the VBO…

this is a piece of code of the shader

void main()

{

float k = heightMax - heightMin;

vec4 newVertexPos;

vec4 dv;

float df;

dv = texture2D(tex1,gl_MultiTexCoord0.xy);

float dim = (dimX + dimZ)*0.5;
dim = dim * dv.y;
k = k * dv.y ;
k = (k + dim)*dv.y + 0.11

*0.1; k = 10.0; df = 0.30*dv.x + 0.59

*dv.z;*

normal = normalize(gl_NormalMatrix * gl_Normal);

newVertexPos = gl_Vertex + vec4(gl_Normaldf*k,0.0);

normal = normalize(gl_NormalMatrix * gl_Normal);

newVertexPos = gl_Vertex + vec4(gl_Normal

gl_TexCoord[0] = gl_MultiTexCoord0;

gl_Position = gl_ModelViewProjectionMatrix * newVertexPos;

}

Thanks