openGL如何渲染到三维纹理?

2024-10-12 01:56:44

1、手动创建FrameBuffer既然GLKView可以帮我们创建FrameBuffer,那么我们自己是不是也可以手动创建FrameBuffer呢?自然是可以的。创建FrameBuffer分为下面几个步骤。创建FrameBuffer对象,并绑定到GL_FRAMEBUFFER上,等待后续处理。

openGL如何渲染到三维纹理?

3、生成深度缓冲区并附加到framebuffer上。这里我们同样使用了纹理对象作为缓冲区。

openGL如何渲染到三维纹理?

5、本文不会使用遮罩(Stencil)缓冲区,所以这里不做详细介绍。检查FrameBuffer的创建状态

openGL如何渲染到三维纹理?

7、Viewport是绘制区域的大小,我们把Viewport设置为FrameBuffer的尺寸,这样绘制区域就可以撑满整个FrameBuffer了。我还设置了新的clearColor,新的投影矩阵,观察矩阵,这样就可以在FrameBuffer中呈现出不一样的绘制效果。[self drawObjects];里简单的封装了之前3D物体的绘制。

openGL如何渲染到三维纹理?

9、[view bindDrawable];将GLKView生成的FrameBuffer绑定到GL_FRAMEBUFFER,并设置好V足毂忍珩iewport,这样后面绘制的内容将呈现在GLKView上。接着重新设置投影矩阵和观察矩阵。绘制3D物体[self drawObjects];。绘制平面[self drawPlane];。值得一提的是,绘制平面时,我使用了正交投影矩阵,这样平面就不会有透视效果,这正是我想要的

openGL如何渲染到三维纹理?
猜你喜欢