作为一个学习总结,绘制了OpenGL ES中完成一次渲染所需要的一些基本步骤。
离屏渲染
此处是以离屏渲染为例,离屏渲染是不直接上屏的,而是渲染到缓冲区中,那么这块缓冲区就需要我们手动创建,也就是上图所示的Framebuffer。其中需要三个部分来存储数据,分别是COLOR_ATTACHMENT, DEPTH_ATTACHMEN 和 STENCIL_ATTACHMENT。其中color部分就用普通的texture即可。depth 和 stencil 部分应该用renderbuffer来实现,另外也有用绑定texture来实现的,好像执行效率有所不同,二者的区别有待研究。
如果需要抗锯齿 MSAA,还需要看平台是否支持以下扩展,常用倍数 2倍,4倍,8倍:
#ifndef GL_IMG_multisampled_render_to_texture
#define GL_IMG_multisampled_render_to_texture 1
#define GL_RENDERBUFFER