Итак, вот проблема.У меня есть FBO с 8 буферами рендеринга, которые я использую в своем конвейере отложенного рендеринга.Затем я добавил еще один буфер рендеринга, и теперь я получаю GLError.
GLError(
err = 1282,
description = b'invalid operation',
baseOperation = glFramebufferTexture2D,
cArguments = (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT8, GL_TEXTURE_2D, 12, 0,)
Код должен быть в порядке, так как я только что скопировал его из ранее использованного буфера рендеринга.
glMyRenderBuffer = glGenTextures(1)
glBindTexture(GL_TEXTURE_2D, glMyRenderBuffer)
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB16F, self.width, self.height, 0, GL_RGB, GL_FLOAT, None)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST)
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT8, GL_TEXTURE_2D, glMyRenderBuffer, 0)
glGenerateMipmap(GL_TEXTURE_2D)
И я получаю ошибку в этой строке
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT8, GL_TEXTURE_2D, glMyRenderBuffer, 0)
Это больше похоже на какое-то ограничение OpenGL, о котором я не знаю.
ИУ меня также есть странный стек - Linux
+ GLFW
+ PyOpenGL
, который также может вызвать эту проблему.
Я был бы рад любому совету на этом этапе.