
We are searching data for your request:
Upon completion, a link will appear to access the found materials.
E60032 2 cat code: 0x5a: 0x00000000 | 0x00000001
Nesse caso, não muda nada.
UMA:
Você não está chamando glFramebufferTexture2D de forma alguma, embora essa seja a função que você diz ter chamado, o valor de retorno que você mostra é um GL_FRAMEBUFFER, que é o mesmo valor de retorno que glReadPixels e funções semelhantes retornam.
Sua função está sem a chamada para glFramebufferTexture2D:
GLuint FBO [1],
glGenFramebuffers (1, FBO),
// glGenFramebuffers (1, & amp, FBO),
glGenFramebuffers (1, & amp, FBO),
glBindFramebuffer (GL_DRAW_FRAMEBUFFER, FBO [0]),
glBindFramebuffer (GL_READ_FRAMEBUFFER, 0),
glBindFramebuffer (GL_DRAW_FRAMEBUFFER, 0),
// glBindFramebuffer (GL_READ_FRAMEBUFFER, FBO [0]),
glFramebufferTexture2D (GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, tex, 0),
// glFramebufferTexture2D (GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, tex, 0),
E aqui você está chamando glFramebufferTexture2D:
glGenTextures (1, & amp, tex),
glBindTexture (GL_TEXTURE_2D, tex),
glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, _width, _height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL),
glFramebufferTexture2D (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, tex, 0),
UMA:
Este problema (corrupção de objeto framebuffer) foi corrigido no OpenGL 4.3 e superior por:
https://github.com/KhronosGroup/OpenGL-Registry/issues/1287
Eu mesmo tive um problema semelhante com OpenGL 3.2 e uma GeForce 5200 que pude resolver com a solução postada.
UMA:
O problema parece ser que um objeto framebuffer foi removido da lista de objetos framebuffer a serem vinculados quando você tentou vincular outro framebuffer.
Você precisará redefinir o índice de vinculação e, em seguida, vincular agn.
A documentação para glBindFramebuffer () diz
GL_READ_FRAMEBUFFER, GL_DRAW_FRAMEBUFFER e GL_FRAMEBUFFER devem sempre ser usados com o último argumento especificando um contexto ao qual vincular o framebuffer. Se o contexto especificado for NULL, GL_DRAW_FRAMEBUFFER será assumido e GL_READ_FRAMEBUFFER será assumido se GL_DRAW_FRAMEBUFFER não for especificado.
Você está criando um objeto framebuffer e o vincula com:
// Vincular framebuffer 0
glBindFramebuffer (GL_DRAW_FRAMEBUFFER, framebufferId),
então você tenta vincular o framebuffer 2:
// Vincular framebuffer 2
glBindFramebuffer (GL_READ_FRAMEBUFFER, framebufferId),
Você precisará atualizar o framebufferId para refletir a mudança e, em seguida, vinculá-lo ao agn.
Se você vincular um framebuffer várias vezes, a última vinculação é efetivamente "aderente" e é usada até que ocorra uma vinculação de pelo menos GL_INVALID_FRAMEBUFFER_OPERATION.
O índice framebuffer é apenas o deslocamento na matriz de objeto framebuffer.
Se você deseja vincular o mesmo framebuffer várias vezes, basta incrementar o índice.
Eu acho que você cometeu um erro. Eu posso defender a posição. Escreva para mim em PM.
Wacker, it seems to me an excellent idea
Eu entro. Foi comigo também. Vamos discutir esta questão.
Não vejo nesse sentido.