1 Reply
      Latest reply on Mar 8, 2018 11:10 AM by Bruce D M
      Bruce D M Level 1 Level 1 (10 points)

        I am trying to use glGetQueryObjectiv( ) in a MacOS project and it fails, throwing and INVALID ENUM error for both GL_QUERY_RESULT and for GL_QUERY_RESULT_AVAILABLE as the argument, i.e.

         

         

          

            if(doPick)

            {

                glEnable(GL_SCISSOR_TEST);

                [self setIsPicked: NO];

                glGenQueries(1 , &queryId );

                glBeginQuery(GL_SAMPLES_PASSED, queryId);

            }

          

            modelMatrix = GLKMatrix4Multiply( modelMatrix , viewRotation );

          

            glUniformMatrix4fv(p_matrix_loc, 1, GL_FALSE, projectionMatrix.m);

            glUniformMatrix4fv(m_matrix_loc, 1, GL_FALSE, modelMatrix.m);

          

            glBindVertexArray(vao[0]);

          

            glDrawArrays(GL_TRIANGLES, 0,  8 * 3);

          

            if(doPick)

            {

                glEndQuery( queryId );

                queryReady = 0;

              

                glGetQueryObjectiv(queryId, GL_QUERY_RESULT_AVAILABLE, &queryReady);

              

             if( queryReady

            {

                hits = 0;

                glGetQueryObjectuiv(queryId, GL_QUERY_RESULT, &hits);

            }

              

                if( hits > 0)

                    [self setIsPicked: YES];

                else

                    [self setIsPicked: NO];

              

                glDeleteQueries( 1 ,  &queryId );

                glDisable(GL_SCISSOR_TEST);

              

            }

         

        Would anybody know what's going wrong and how I could get this to work.  Those enums should be valid.