理解OpenGL中帧缓存FrameBuffer 渲染缓存RenderingBuffer
生活随笔
收集整理的這篇文章主要介紹了
理解OpenGL中帧缓存FrameBuffer 渲染缓存RenderingBuffer
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
操作都是在默認幀緩沖的渲染緩沖上進行的。默認的幀緩沖是在你創(chuàng)建窗口的時候生成和配置的(GLFW幫我們做了這些)。
幀緩存幫助我們離屏渲染,提高渲染速度
unsigned int captureFBO;
glGenFramebuffers(1, &captureFBO);
glBindFramebuffer(GL_FRAMEBUFFER, captureFBO);unsigned int captureRBO;
glGenRenderbuffers(1, &captureRBO);
glBindRenderbuffer(GL_RENDERBUFFER, captureRBO);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, 512, 512);glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER,captureRBO);
。
。
。
最后一件事就是將紋理附加到幀緩沖上了
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, texture_name, 0);
另外想在這里記錄一下易忘知識點:
如果我們加載很多紋理圖像,怎么樣讓shader知道我們是想渲染哪個紋理呢?
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture_name);
然后再使用
Shader_name.use();(learnopenngl造的小輪子,等同于glUseProgram(ID))
這樣就可以調(diào)用shader去處理我們想要渲染的紋理數(shù)據(jù)了
https://learnopengl-cn.github.io/04%20Advanced%20OpenGL/05%20Framebuffers/
總結(jié)
以上是生活随笔為你收集整理的理解OpenGL中帧缓存FrameBuffer 渲染缓存RenderingBuffer的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL中的VAO和VBO使用技巧
- 下一篇: OpenGL如何处理多个纹理