它需要一个目标参数,但唯一可行的目标是 GL_RENDERBUFFER。
http://www.opengl.org/wiki/Renderbuffer_Object
https://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindRenderbuffer.xml
http://www.opengl.org/wiki/GlRenderbufferStorage
(我刚刚学习OpenGL,今天已经发现了这两个;也许我可以期待这个看似无用的目标参数在许多函数中都很常见?)
答案 0 :(得分:7)
原始EXT_framebuffer_object
扩展规范的问题30中的target
参数背后有一些基本原理。 (我通常建议人们阅读相关扩展规范,即使是已经成为核心GL功能的功能,因为这些规范通常有更多细节,有时包含ARB(或供应商)以某种方式做事的推理,特别是在"问题"部分。):
(30)处理渲染缓冲区的调用是否需要目标 参数?这似乎不太可能用于任何事情。
决议:已解决,是
我们是否将其称为"目标"或不,有一些件 在上下文中保存当前renderbuffer的状态 捆绑。这是必需的,以便我们可以调用例程 RenderbufferStorage和{Get} RenderbufferParameter()没有 传入一个对象名称。我们也有可能 决定使用renderbuffer目标参数 区分多重采样和非多重采样缓冲区。 鉴于这些原因,纹理对象的先例,和 我们可能会想出一些其他渲染缓冲区 未来的目标类型,似乎是谨慎而不是全部 现在只包括目标类型的成本很高。
答案 1 :(得分:4)
核心OpenGL通常只为某些参数定义一个合法值,但扩展会添加其他参数。无论今天在扩展中是否有更多的值定义,显然建筑师希望将这扇门留给未来的扩展。