Почему при рендере FrameBuffer в текстуру, в итоге получается абсолютно чёрная текстура?
Я пишу программу на java и openGL. В рамках этой программы, мне необходимо выполнять рендер в отдельном фреймбуфере, в прикреплённую к нему текстуру, а затем выполнять рендер в основном фреймбуфере, используя для этого полученную текстуру. Сначала я инициализирую нужные мне фреймбуффер и текстуру.
IntBuffer depthMap = IntBuffer.allocate(1);
glxbord.glGenFramebuffers(1, depthMap);
this.depthMapFBO = depthMap.get(0);
glxbord.glBindFramebuffer(GL_FRAMEBUFFER, this.depthMapFBO);
glxbord.glEnable(GL_TEXTURE_2D);
glxbord.glGenTextures(1, depthMap);
this.depthMap = depthMap.get(0);
glxbord.glBindTexture(GL_TEXTURE_2D, this.depthMap);
glxbord.glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1024, 1024, 0, GL_RGBA,
GL_UNSIGNED_BYTE, null);
glxbord.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glxbord.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
//glxbord.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
//glxbord.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glxbord.glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D,
this.depthMap, 0);
//glxbord.glDrawBuffer(GL_NONE);
//glxbord.glReadBuffer(GL_NONE);
glxbord.glBindFramebuffer(GL_FRAMEBUFFER, 0);
glxbord.glBindTexture(GL_TEXTURE_2D, 0);
testerrors = glxbord.glGetError();
Затем, в коде отрисовки я сначала рисую всё в созданный буфер
glxbord.glEnable(GL_TEXTURE_2D);
//glxbord.glUseProgram(this.SHP);
glxbord.glViewport(0, 0, 1024, 1024);
glxbord.glBindFramebuffer(GL_FRAMEBUFFER, this.depthMapFBO);
glxbord.glClearColor(0.2f, 0.7f, 0.1f, 1.0f);
glxbord.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT |
GL2.GL_STENCIL_BUFFER_BIT);
testerrors = glxbord.glGetError();
//RenderScene();
А затем возвращаюсь к 0 фреймбуферу и рисую саму сцену.
glxbord.glBindFramebuffer(GL_FRAMEBUFFER, 0);
glxbord.glViewport(0, 0, Main.ViewW, Main.ViewH);
testerrors = glxbord.glGetError();
Проблема в том, что после рисования основной сцены, где текстура depthMap применяется к квадрату, я получаю абсолютно чёрный квадрат. То есть, полученная после рендера текстура, не содержит в себе ничего, хотя должна содержать результат рендера модели, которую я использую в RenderScene()