sig
  type texenv_target =
      GL_TEXTURE_ENV
    | GL_TEXTURE_FILTER_CONTROL
    | GL_POINT_SPRITE
  type texenv_pname =
      GL_TEXTURE_ENV_MODE
    | GL_TEXTURE_LOD_BIAS
    | GL_COMBINE_RGB
    | GL_COMBINE_ALPHA
    | GL_SRC0_RGB
    | GL_SRC1_RGB
    | GL_SRC2_RGB
    | GL_SRC0_ALPHA
    | GL_SRC1_ALPHA
    | GL_SRC2_ALPHA
    | GL_OPERAND0_RGB
    | GL_OPERAND1_RGB
    | GL_OPERAND2_RGB
    | GL_OPERAND0_ALPHA
    | GL_OPERAND1_ALPHA
    | GL_OPERAND2_ALPHA
    | GL_RGB_SCALE
    | GL_ALPHA_SCALE
    | GL_COORD_REPLACE
  type texenv_param =
      GL_ADD
    | GL_ADD_SIGNED
    | GL_INTERPOLATE
    | GL_MODULATE
    | GL_DECAL
    | GL_BLEND
    | GL_REPLACE
    | GL_SUBTRACT
    | GL_COMBINE
    | GL_TEXTURE
    | GL_CONSTANT
    | GL_PRIMARY_COLOR
    | GL_PREVIOUS
    | GL_SRC_COLOR
    | GL_ONE_MINUS_SRC_COLOR
    | GL_SRC_ALPHA
    | GL_ONE_MINUS_SRC_ALPHA
    | GL_TRUE
    | GL_FALSE
end