const char * VertexProgram_vparb = 
"!!ARBvp1.0\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"ATTRIB iPos          = vertex.position;\n"
"PARAM  mvp[4]       = { state.matrix.mvp };\n"
"\n"
"OUTPUT oPos         = result.position;\n"
"OUTPUT oColor       = result.color.primary;\n"
"OUTPUT oTexCoord0   = result.texcoord[0];\n"
"OUTPUT oTexCoord1   = result.texcoord[1];\n"
"OUTPUT oTexCoord2   = result.texcoord[2];\n"
"OUTPUT oTexCoord3   = result.texcoord[3];\n"
"OUTPUT oTexCoord4   = result.texcoord[4];\n"
"OUTPUT oTexCoord5   = result.texcoord[5];\n"
"OUTPUT oTexCoord6   = result.texcoord[6];\n"
"OUTPUT oTexCoord7   = result.texcoord[7];\n"
"\n"
"\n"
"DP4   oPos.x, mvp[0], iPos;\n"
"DP4   oPos.y, mvp[1], iPos;\n"
"DP4   oPos.z, mvp[2], iPos;\n"
"DP4   oPos.w, mvp[3], iPos;\n"
"\n"
"MOV   oColor, vertex.color;\n"
"MOV   oTexCoord0, vertex.texcoord[0];\n"
"MOV   oTexCoord1, vertex.texcoord[1];\n"
"MOV   oTexCoord2, vertex.texcoord[2];\n"
"MOV   oTexCoord3, vertex.texcoord[3];\n"
"MOV   oTexCoord4, vertex.texcoord[4];\n"
"MOV   oTexCoord5, vertex.texcoord[5];\n"
"MOV   oTexCoord6, vertex.texcoord[6];\n"
"MOV   oTexCoord7, vertex.texcoord[7];\n"
"\n"
"END\n"
"\n"
;
