OpenGL优化

来源:互联网 发布:知乎 吹牛 揭穿 编辑:程序博客网 时间:2024/05/07 09:27

在使用glDrawPixels前调用用如下代码,可加快速度:
 /* 
   *  Disable  stuff  that's  likely  to  slow  down  glDrawPixels. 
   *  (Omit  as  much  of  this  as  possible,  when  you  know  in  advance 
   *  that  the  OpenGL  state  will  already  be  set  correctly.) 
 */ 
 glDisable(GL_ALPHA_TEST); 
 glDisable(GL_BLEND); 
 glDisable(GL_DEPTH_TEST); 
 glDisable(GL_DITHER); 
 glDisable(GL_FOG); 
 glDisable(GL_LIGHTING); 
 glDisable(GL_LOGIC_OP); 
 glDisable(GL_STENCIL_TEST); 
 glDisable(GL_TEXTURE_1D); 
 glDisable(GL_TEXTURE_2D); 
 glPixelTransferi(GL_MAP_COLOR,  GL_FALSE); 
 glPixelTransferi(GL_RED_SCALE,  1); 
 glPixelTransferi(GL_RED_BIAS,  0); 
 glPixelTransferi(GL_GREEN_SCALE,  1); 
 glPixelTransferi(GL_GREEN_BIAS,  0); 
 glPixelTransferi(GL_BLUE_SCALE,  1); 
 glPixelTransferi(GL_BLUE_BIAS,  0); 
 glPixelTransferi(GL_ALPHA_SCALE,  1); 
 glPixelTransferi(GL_ALPHA_BIAS,  0); 
 
 /* 
   *  Disable  extensions  that  could  slow  down  glDrawPixels. 
   *  (Actually,  you  should  check  for  the  presence  of  the  proper 
   *  extension  before  making  these  calls.    I've  omitted  that 
   *  code  for  simplicity.) 
 */ 

 #ifdef  GL_EXT_convolution 
  glDisable(GL_CONVOLUTION_1D_EXT); 
  glDisable(GL_CONVOLUTION_2D_EXT); 
  glDisable(GL_SEPARABLE_2D_EXT); 
 #endif 
 
 #ifdef  GL_EXT_histogram 
  glDisable(GL_HISTOGRAM_EXT); 
  glDisable(GL_MINMAX_EXT); 
 #endif 
 
 #ifdef  GL_EXT_texture3D 
  glDisable(GL_TEXTURE_3D_EXT); 
 #endif 

 

原创粉丝点击