3 Replies Latest reply on Apr 26, 2016 2:09 PM by Bryce@Intel

    Backfaces not culled on HD family GPU machines

    sapper.trle

      Backward facing polygons are being selected/picked in an OpenGL program when the program is run on machines with Intel HD family GPUs.

       

      Picking works as expected on other types of GPU.

       

      glCullFace is enabled.

       

      The code uses old OpenGL API and uses the Select buffer technique.

       

         glGetIntegerv (GL_VIEWPORT, @vp);
      
          glSelectBuffer (16*32, @selectBuf);
      
          glMatrixMode(gl_projection);
          glpushmatrix;
          glRenderMode(GL_SELECT); //select
      
          glloadidentity();
          gluPickMatrix( mouse_x,vp[3]-mouse_y, 0.09,0.09, vp);
          gluPerspective(45,control.width/control.height,0.1,100);
      
      //---------------
          redraw;  //calls a compiled display list
      //---------------
          glMatrixMode(gl_projection);
          glpopmatrix;
          hits:= glRenderMode(GL_RENDER);
      

       

      A video of the problem can be seen in this post http://www.tombraiderforums.com/showpost.php?p=7479833&postcount=265.

      Testing confirms that the backfaces are being counted as a hit on HD GPU only.

       

      Anyone know the reason for this behaviour with Intel HD graphics?