I'm having some problems understanding the two extensions GL_ARB_vertex_program and GL_NV_vertex_program. I understand how to set up the extensions and load programs, but I'm confused as to the format of the programs (most tutorials seem to leave that part out.) I'm guessing they have to be assembled before they're loaded, but according to nVidia's site, there's a difference between the DirectX 8+ vertex shaders and OpenGL vertex programs and...well, I'm starting to confuse myself. Can someone explain this to me, or point me to a document which explains it in pretty good detail? Thanks!