Почему при рендере 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()


Ответы (0 шт):