Прикрепление кадрового буфера к текстурной ошибке

Я пытаюсь реализовать отображение теней с помощью учебника Вот, однако, когда я пытаюсь использовать этот код, чтобы присоединить Framebuffer к текстуре, он терпит неудачу. Мой контекст OpenGL — 3.1, и я считаю, что у меня есть видеокарта Intel 3000 серии. Код не работает в 2 точках. Первый сбой в glFramebufferTexture2D, что дает код ошибки 1282 (не уверен, какое перечисление тоже соответствует). Я считаю, что эта ошибка вызывает утверждение assi позже в коде не получится. Я пробовал код из похожих вопросов, но в этом случае они не работают.

glGenFramebuffers(1, &MObject::fbo);
glGenTextures(1, &MObject::shadowMap);
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, windowWidth, windowHeight, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glBindFramebuffer(GL_FRAMEBUFFER, MObject::fbo);
glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, MObject::shadowMap, 0);
GLenum  err = glGetError(); // Error code: 1282
glDrawBuffer(GL_NONE);
glReadBuffer(GL_NONE);
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
assi(status == GL_FRAMEBUFFER_COMPLETE, "FBO error!"); // Expression is false, abort called.

0

Решение

Да так я забыл glBindTexture, Я ненавижу себя. Спасибо, Гектиго!

1

Другие решения


По вопросам рекламы [email protected]