Issue with Open GL VBO &amp; Texturing (I guess)

I am new to Open GL (and still fairly new to Obj-c).
I'm trying to use VBO to speed up my Open GL code.. however, I'm stuck since 2 days with my scene not showing any texture.
I started by adapting the GL Sprite example, adding some transforms and vbo along the way..
I have tried hard to fix it by myself, but I cant found what is the problem with my code.. so If an expert can spot the bug (and explain what I did wrong), I would gladly appreciate it..

here is the code (i extracted the exact parts, to keep the code simple to read):

// Texture dimensions must be a power of 2. If you write an application that allows users to supply an image,
// you'll want to add code that checks the dimensions and takes appropriate action if they are not a power of 2.

Step through the code that loads your texture, line by line, ensure that everything is as it should be. I have a hunch it's not finding the texture. If it isn't, just make sure that the texture is included with the project. One difference between Xcode and VisualStudio is, the assets are copied to a bundle where the program accesses the assets. Another thing you can do is, use the absolute path of the texture and see if it works then. (Using the absolute path, is loading it separately from the bundle.)

If that's not it, try re-saving your png file. I had a hard time with png's because some of them have weird formatting. I'm not really sure how/why but to get around it, load the png in Photoshop or whatever you use and re-save it with no compression or RLE or any of that stuff.

If your model is loading and displaying, applying the texture to it is only a matter of loading the texture and binding it, whether you're using a VBO or passing verts to OpenGL one at a time. Let me know if this helps.

You're creating two separate GL_ARRAY_BUFFER VBOs for the vertex and texture coordinates. There can only be a single bound VBO of a given type (GL_ARRAY_BUFFER ot GL_ELEMENT_ARRAY_BUFFER) at any given time.

You can either create a single vertex data structure containing both vertex and texture coordinates or have the texture coordinates follow the vertices in memory and adjust the offset passed to glTexCoordPointer accordingly. Having a combined structure is recommended since there are fewer cache misses when fetching the data. Be careful to pass a correct value for the stride parameter though.

@q2dm1, while it may be better cache-wise to keep data interleaved in a single buffer object, it's perfectly valid to have multiple ARRAY_BUFFERs. The current buffer is used when you set a pointer or set/get the data.

The usage case where you want attributes in separate buffer objects like this is when some of them are static and some are streaming.