Ret*_*adi 14
有两个值可能会限制您可以使用的附件数量:
GL_MAX_COLOR_ATTACHMENTS指定FBO具有多少颜色附着点.换句话说,它对应于n指定附着点时可以使用的最大值GL_COLOR_ATTACHMENTn.这将限制可以同时将多少颜色纹理/渲染缓冲区附加到FBO.您可以通过以下方式获得此限制
GLint maxAttach = 0;
glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS, &maxAttach);
Run Code Online (Sandbox Code Playgroud)GL_MAX_DRAW_BUFFERS指定可以同时绘制多少缓冲区.它是您允许传递的最大缓冲区数glDrawBuffers(),也是片段着色器中允许的最大输出数.您可以通过以下方式获得此限制
GLint maxDrawBuf = 0;
glGetIntegerv(GL_MAX_DRAW_BUFFERS, &maxDrawBuf);
Run Code Online (Sandbox Code Playgroud)这两个值不必相同.因此,您可以拥有一定数量的附件,但不能同时绘制所有附件.
这些限制的最小值在OpenGL 3.x及更高版本中为8,包括当前4.5规格.
小智 5
您可以通过查询得到
int maxColorAttachments;
glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS, &maxColorAttachments);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3272 次 |
| 最近记录: |