OpenGL笔记

  • 画图步骤:1. enable state => 2. bind data => 3. glDrawArrays/glDrawElements

    1和2对应为:

      vertex: glEnableClientState(GL_VERTEX_ARRAY) <-> glVertexPointer
      color: glEnableClientState(GL_COLOR_ARRAY) <-> glColorPointer
      texCoord: glEnableClientState(GL_TEXTURE_COORD_ARRAY) <-> glTexCoordPointer
    
      texture: glEnable(GL_TEXTURE_2D) <-> glBindTexture
  • glBlendFunc(srcFactor, dstFactor):srcFactor指当前正画的图要乘上的因子,dst指已在frame中的图要乘上的因子 > online tool

用过的几个blendFunc:

  • GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA: 图片叠加,本层图片透明的部分显露下层图片
  • GL_DST_ALPHA, GL_ZERO: 用下层图片alpha通道来mask本层图片
  • GL_DST_COLOR, GL_ZERO: 本层常用灰度图去mask下层图片