Issue creating or rendering VBO

This is where I create the VBO :

	public void generateVBO() {
		vertexBufferVertices = 0;
		textureBufferVertices = 0;
		for (Quad quad : quads) {
			if (quad != null) {
				for (Vertex3f vert : quad.vertices) {
					vertexBufferVertices ++;
				}
				for (Vector2f vert : quad.textureQuardinates) {
					textureBufferVertices ++;
				}
			}
		}
		
		FloatBuffer data = BufferUtils.createFloatBuffer(vertexBufferVertices*3+textureBufferVertices*2);
		for (Quad quad : quads) {
			if (quad != null) {
				for (Vertex3f vert : quad.vertices) {
					data.put(vert.x()).put(vert.y()).put(vert.z());
				}
				for (Vector2f vert : quad.textureQuardinates) {
					data.put(vert.x).put(vert.y);
				}
			}
		}
		data.flip();
		
		vertexBufferObjectID = GL15.glGenBuffers();
		GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vertexBufferObjectID);
		GL15.glBufferData(GL15.GL_ARRAY_BUFFER, data, GL15.GL_STATIC_DRAW);
	}

And here is where I render it :

			GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vertexBufferObjectID);
			
			int stride = (3 << 2) + (2 << 2);
			int offset = 0;
			
			GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY);
			GL11.glVertexPointer(3, GL11.GL_FLOAT, stride, offset);
			offset += (3 << 2);
			
			GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY);
			GL11.glTexCoordPointer(2, GL11.GL_FLOAT, stride, offset);
			offset += (2 << 2);
			
			
			GL11.glDrawArrays(GL11.GL_QUADS, 0, vertexBufferVertices);
			
			GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY);
			GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY);

Im sorry for bothering you guys for help, but I cant figure out what I’m doing wrong. Im sure its right in front of me.

EDIT :
Should have been more clear, nothing crashes, but its rending strangely. I suspect it is the issue with the stride/offset.

What’s the issue? Is the code failing (IE crashing) or can you just not see anything?

Your doing your stride and offset wrong. Stride should be 34 + 24.

First offset change should be offset += 3*4.

Second should be offset += 2*4

[Edit] corrected

			int stride = 3*2*4 + 2*2*4;
			int offset = 0;
			
			GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY);
			GL11.glVertexPointer(3, GL11.GL_FLOAT, stride, offset);
			offset += 3*2*4;
			
			GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY);
			GL11.glTexCoordPointer(2, GL11.GL_FLOAT, stride, offset);
			offset += 2*2*4;

Like so?
This is not working either. :{
I understand where the 32 comes from but where s the 4 coming from in :
offset += 3
2*4;

The 4 is the size of a float in bytes.

You need to be passing the size in bytes

Sorry my mistake

Stride = 3*4 + 2 *4;

Offset += 3*4;

Offset += 2*4;