小编Rom*_*man的帖子

使用 GL_TEXTURE_2D_ARRAY 作为绘制目标

我创建了一个 2D 纹理数组并使用glTexImage3D对其进行了初始化。然后我使用glFramebufferTextureLayer将单独的纹理附加到颜色附件,帧缓冲区创建不会引发错误,并且在绘制调用发生之前一切似乎都很好。

当着色器尝试访问颜色附件时,会出现以下消息:

OpenGL Debug Output message : Source : API; Type : ERROR; Severity : HIGH;
GL_INVALID_OPERATION error generated. <location> is invalid.
Run Code Online (Sandbox Code Playgroud)

着色器使用位置限定符访问数组的层:

layout (location = 0) out vec3 WorldPosOut; 
layout (location = 1) out vec3 DiffuseOut; 
layout (location = 2) out vec3 NormalOut; 
layout (location = 3) out vec3 TexCoordOut; 
Run Code Online (Sandbox Code Playgroud)

文档说glFramebufferTextureLayer就像glFramebufferTexture2D一样工作,除了 layer 参数,所以我可以使用带有纹理数组的位置限定符,还是存在其他一些方式?

c++ opengl

1
推荐指数
1
解决办法
2038
查看次数

标签 统计

c++ ×1

opengl ×1