OpenGL/WebGL中函数与对应绑定目标的关联关系查询
OpenGL/WebGL 函数与绑定目标对应关系查询方案
官方文档内置汇总查询
你已下载的OpenGL ES 3.0官方文档中自带聚合汇总内容,无需逐个梳理零散功能文档:
- 优先查找文档中的「State Tables(状态表)」章节,该章节会按*目标(target)*维度分类,每类target对应一行,列项会明确标注所有可作用于该target的函数、以及调用该函数时的target要求
- 针对缓冲类目标,可以直接定位到「Buffer Object State(缓冲对象状态)」子章节:
GL_ELEMENT_ARRAY_BUFFER对应行的关联函数会直接列出glDrawElements()、glBufferData()、glBufferSubData()等GL_ARRAY_BUFFER对应行的关联函数会列出glVertexAttribPointer()、glBufferData()等
- WebGL的对应汇总逻辑和OpenGL ES完全一致,在WebGL官方规范的「Buffer Objects」章节下可以找到同结构的状态表。
快速自定义梳理方法
如果需要生成自己的汇总表,可以按以下逻辑整理,不会出现遗漏:
- 第一步:先把所有
gl*Buffer*开头的函数,按第一个输入参数的target枚举值做分类 - 第二步:补充绘制类、状态修改类函数依赖的绑定目标,比如
glDrawArrays()依赖提前绑定到GL_ARRAY_BUFFER的顶点缓冲,glGetUniformLocation()关联GL_UNIFORM_BUFFER目标。
提示:同一个缓冲对象可以绑定到多个不同的target使用,只要符合对应target的调用规则即可,状态表中会明确标注每个target的使用限制。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

