Opengles的渲染管线
Opengles的渲染管线在是由多个着色器处理来完成。
- 顶点着色器
- 几何着色器
- 片元着色器
其他图片装配,光栅化这两个过程Opengles是无法直接管理,都是已经内置系统完成,没有公开的api。
Opengles还能管理以下内容,api都是提供的。 - 深度测试
- 裁剪测试和视口大小
- 色彩混合
Opengles并不需要手动创建整个渲染管线和图形管线输入输出。
Vulkan的渲染管线
渲染管线上的图的每个步骤都能够通过Vulkan来做管理。Vulkan能够更加深入的管理整个渲染管线。
以下是Vulkan创建渲染管线,需要纹理附着的描述,纹理索引,管线描述,管线结构体这些基础信息。
int VKRender::createRenderPass(VKDeviceManager *deviceInfo, VKSwapChainManager *swapChainInfo) {
//子通道作用与后续的渲染操作,并依赖之前渲染通道输出到帧缓冲区的内容。比如说后处理效果的序列通常每一步都依赖之前的操作。如果将这些渲染操作分组到一个渲染通道中,通过Vulkan将通道中的渲染操作进行重排序,可以节省内存从而获得更好的性能
//