Opengl glGenVertexArrays error -


i trying make 5 vertex array objects(vao) using 1 array init() function.

however, glgenvertexarrays( 5, &vao ) throws me error , don't understand why does.

i guess don't understand behavior of function.

can tell me what's going on here?

here original code:

void init(){   // subdivide tetrahedron sphere   index = 0; tetrahedron( 1, 0, numtimestosubdivide-4 );   index = 0; tetrahedron( 0, 1, numtimestosubdivide-3 );   index = 0; tetrahedron( 0, 2, numtimestosubdivide-2 );   index = 0; tetrahedron( 0, 3, numtimestosubdivide-1);   index = 0; tetrahedron( 0, 4, numtimestosubdivide );    // create vertex array object   **glgenvertexarrays( 5, &vao ); // error occurs on line**   ( int i=0; i<5; i++ )   {      glbindvertexarray( vao[i] );      gluint buffer;     glgenbuffers( 1, &buffer );     glbindbuffer( gl_array_buffer, buffer );     glbufferdata( gl_array_buffer, sizeof(points[i]) + sizeof(normals[i]),null, gl_static_draw );     glbuffersubdata( gl_array_buffer, 0, sizeof(points[i]), &(points[i]) );     glbuffersubdata( gl_array_buffer, sizeof(points[i]),sizeof(normals[i]), &(normals[i]) );   }   // load shaders , use resulting shader program   gluint program = initshader( "vshader.glsl", "fshader.glsl" );   gluseprogram( program );    // set vertex arrays   gluint vposition = glgetattriblocation( program, "vposition" );   glenablevertexattribarray( vposition );   glvertexattribpointer( vposition, 4, gl_float, gl_false, 0, buffer_offset(0) );    gluint vnormal = glgetattriblocation( program, "vnormal" );   glenablevertexattribarray( vnormal );   glvertexattribpointer( vnormal, 3, gl_float, gl_false, 0, buffer_offset(sizeof(points)) );    ambientproduct = glgetuniformlocation(program, "ambientproduct");   diffuseproduct = glgetuniformlocation(program, "diffuseproduct");   specularproduct = glgetuniformlocation(program, "specularproduct");   lightposition = glgetuniformlocation(program, "lightposition");   shininess = glgetuniformlocation(program, "shininess");   transformation = glgetuniformlocation( program, "transformation" );   view = glgetuniformlocation( program, "view" );   projection = glgetuniformlocation( program, "projection" );    glenable( gl_depth_test );   glclearcolor(0.0, 0.0, 0.0, 0.0 ); /* black background */ } 

here error messages:

error c2664: 'void (glsizei,gluint *)' : cannot convert parameter 2 'gluint (*)[5]' 'gluint *' 1>          types pointed unrelated; conversion requires reinterpret_cast, c-style cast or function-style cast  error c2664: 'void (glsizei,gluint *)' : cannot convert parameter 1 'gluint (*)[5]' 'glsizei' 1>          there no context in conversion possible 

arrays pointers. don't need &:

glgenvertexarrays( 5, vao ); 

Comments

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -