这个图:
虽然渲染管线还是这么个样子,但是。。。
这个OpenGL的API:glEnable(GL_DEPTH_TEST) 好使吧
Vulkan里面写很多代码才能控制这个东西,以及这个graphic pipeline要手动一步步建立
教程有挺长的四部分 构造了这么多参数。。
最后才create出来
shader部分
Vulkan需要把shader编译成字节码,你可以用hlsl glsl编译出来只要这边用着不报错都行。
这块和OpenGL差不多读进来 create一下
塞进shader stage,
,顶点和片源叫两个stage
fix function
这是第一个结构体,因为这个也有很多内容,于是教程后面再专门细讲。
第二部分是输入组件,就是ogl绘制drawarray那里设置那个triangle啊 point line什么的
然后设置viewport,上面那个是视口的大小,后面这个算可见区域吧,不在scissors范围内的像素就discard。
他俩组装出视口相关结构体参数
想不到吧 光栅化也要手动
踢掉near far之外的内容
这是。。是用来提升效率的吗?有待学习
这是填充方式,不过,前面好像读数据那。。有指定数据是什么格式。。好像再指定一下有点奇怪。有待学习
线的话指定宽度,这个好像要看硬件????
这个是剔除正面还是背面
这个shadowMap我倒是见过加bias,这好像放在这里了。
多重采样抗锯齿,硬件特性,教程说后面讲
深度和模板设置也是后面讲。
这个眼色混合方程和OpenGL差不多,就是src rgb a分开成系数 dst rgb a分开乘系数然后加减或什么混合
这里说也是后面讲,应该和UBO有关吧 下面的pipeline layout也是
这个pipeline就已经这么长,所有东西都要人工指定,还有个renderpass。