to see how hard the GPU was working while rotating the model.
The hardware monitor appears to simply look at GPU temperatures, fan, and clock speed. Considering that you’re throwing 32K static, unlit, untextured triangles at the GPU, I doubt the GPU would notice.
That workload isn’t going to put the GPU into higher stress modes, especially if this is a high-end GPU. My 80-shader integrated HD-3300 can chew through 32K untextured, unlit triangles without noticing. So any real GPU will barely skip a beat.
Odds are, your GPU is bored.
Or, to put it another way, the Open Hardware Monitor (or any other hardware monitoring program) should not be taken as a reliable measure of whether the GPU is being used for rendering.
How do I tell that my code’s setup correctly and using the GPU as expected and not using my backup glVertexPointer() implementation?
What backup glVertexPointer() implementation? Are you talking about code that you wrote? If you want to know if you’re running code you wrote, I suggest looking into a good debugger. Put a breakpoint in this “backup” function and see if it gets called.
If you want to know if you’re running code you wrote, I suggest looking into a good debugger. –> OK. And a debugger that steps into the GPU?
I don’t know how that has anything to do with what you asked. You asked, “How do I tell that my code’s setup correctly and using the GPU as expected and not using my backup glVertexPointer() implementation?”
The “GPU” cannot use your “backup glVertexPointer() implementation”, because as you stated, that is your code. Since it cannot use it, it is not using it. So your question answers itself.
I think you’re trying to verify something that really doesn’t matter. If your buffer object rendering code works, then obviously the GPU is doing something with it. If you’re wondering if it is the most optimal way to render something, that is a different (and generally unanswerable) question.