5

http://www.khronos.org/opengles/sdk/docs/man/上的在线文档未提及该glBindFragDataLocation(GLuint program, GLuint colorNumber, const char * name);方法。在 OpenGL es 2.0 中与此等效的是什么?

4

1 回答 1

8

没有等价物,请阅读下文。

OpenGL ES 2.0 不允许发出多个片段输出,您可以写入gl_FragColorgl_FragData[0]. 这是使用普通 OpenGLES 2.0 会导致延迟着色非常慢的原因之一,因为您无法定义多个目标。

如果您在Tegra上,您可以稍微更改您的程序以gl_FragData[i]使用NV_draw_buffers扩展名发出,但您不能使用用户定义的输出变量,只有gl_FragData[i]输出变量可以输出到不同的附件。

话虽如此,并试图回答您的问题,您需要更改片段着色器以使用,gl_FragColor或者gl_FragData[0]没有用户定义的变量

于 2013-05-16T05:21:25.057 回答