Я получил неправильные значения текстуры от glCopyTexImage2D ().Я прикрепил текстуру глубины к FBO и получил ее значение в проходе рендеринга.Я ожидал результат, как показано ниже: (x: фон, y: правильный пиксель)
---yyyyyyyyyyyyyyyyyyyy-----
-----------yyyyyyyyyyy------
yyyyyy----------y-----------
yyyyyyyyyy-------y----y-yyyy
yyyyyyyyyyyyyyyyyyyyyy------
, но мой результат такой:
---yyyyyyyyyyyyyyyyyyyy-----
-----------yyyyyyyyyyy------
yyyyyy----------y-----------
----------------------------
----------------------------
От половины текстуры доконец, фоновые пиксели только представлены.конечно, от верхнего левого до половины я получил правильный результат.
код создания текстуры ниже:
glGenTexture(1, &tex);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, tex);
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_TEXTURE, w, h, 0, GL_DEPTH_TEXTURE, GL_FLOAT, 0);
и в коде рендеринга
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, tex);
glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_TEXTURE, 0, 0, w, h, 0);
Есть ли ошибка в glCopyTexImage2D?w и h исправлены, и я не знаю почему ..