vulakn教程--Drawing a Triangle--Pipeline--Introduction

来源:互联网 发布:qq游戏网络不稳定 编辑:程序博客网 时间:2024/05/26 02:19

原文链接: vulkan-tutorial


Pipeline

前言(Introduction)

Pipeline 是指图形系统对图像信息进行一系列处理的过程,这些图像信息包括顶点信息(坐标、法向量…),像素信息(图像、纹理…)等,最终这些处理好的数据将被放到帧缓冲区(FrameBuffer)中供应用获取。

Pipeline过程

图1-Pipeline过程

a.输入装配器(Input assembler) : 从Vertex Buffer 或 Index Buffer 中搜集原始顶点数据。

B.顶点着色器(Vertex Shader): 每一个顶点都会运行一次Vertex Sahder,它将顶点的原始坐标(model space)转换成屏幕坐标(screen space),并为pipeline的下一个阶段提供输入。

c.细分着色器(Teseellation) : 将几何图形细分成更多、更小的三角形使得渲染表面和边缘更加平滑。如下图:

细分

图2-细分

d.几何着色器(Geometry Shader) :作用于每一个图原(primitive)(点,线,三角形),在操作的过程中可能会丢失部分图原,也能会增加图原,功能和Teseellation差不多,但更为复杂,Geometry Shader现在用的并不多,除了Intel的集成显卡外,它在其他类型显卡上的运行性能让人抓狂。

e.光栅化(Rasterization) : 可能叫做像素化更好理解一些。它将图原(primitive)离散成片原(fragments),每一个片原代表FrameBuffer中的一个像素信息,对应于屏幕上的一点的颜色和不透明度等信息,屏幕外的片原将被丢弃,Vertex Shader 的输出结果会和片原做进一步的插值计算。由于深度关系,那些在其他片原后面的片原同样会被丢弃。如下两幅图:
边缘像素化

图3-边缘像素化

区域像素化

图4-区域像素化

f.片原着色器(Fragment Shader) : 对于每一个片原,Fragment Shader 都会调用一次,并决定片原使用何种颜色和何种深度值来填充哪一个FrameBuffer(s)。你可以使用来自Vertex Shader的被插值后的数据,这些数据可以包含用于光照的的纹理坐标和法线。

g.颜色混合器(Color blending) : 用于混合在同一FrameBuffer 中不同片原映射的同一像素的情况,你可以选择覆盖、相加或混合它们。

图1-Pipeline 过程图中,绿色的模块表示固定的功能,它们所做的工作已经被预定义好了,不过你可以通过一些参数来进行一些设置。而橙色的模块属于可编程部分,这意味着你可以编写自己的代码使显卡按照你的目的去执行。

在Vulkan中Pipeline 是不可改变的,这意味着如果你想改变着色器、绑定不同的FrameBuffer、改变混合功能(blend function),etc,你必须从头开始重建Pipeline。喜忧参半…。

由于你使用Pipeline的具体目的不同,一些可编程模块就成了可选项,比如,如果你只想画一个几何图形,那么Teseellation 和 Geometry Sahder 就可以不需要了。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 棉麻的衣服发硬怎么办 新衣服太硬怎么办雪纺 衣服硬的咯人怎么办 脖子上的勒痕怎么办 腿上容易出现勒痕怎么办 身上总有内裤印怎么办 内裤穿出了印怎么办 饮水机热水口不出水怎么办 饮水机热水口出水小怎么办 新饮水机热水口出水小怎么办 白钢水桶中间支撑怎么办 17岁想长高应该怎么办 身子瘦但脸胖怎么办 减肥只瘦了胸是怎么办 减肥把胸瘦了怎么办 脸又大又圆怎么办 想长高又想减肥怎么办 孩子做作业精力不集中怎么办 写作业老要睡觉怎么办 孩子写作业精神不集中怎么办 小孩精神不集中要怎么办 注意力不集中上课走神怎么办 注意力不集中总是走神怎么办 孩子注意力不集中走神怎么办 上课老走神注意力不集中怎么办 注意力不集中老走神怎么办 7岁儿童视力0.6怎么办 三岁宝宝注意力不集中怎么办 四岁宝宝注意力不集中怎么办 一直在想一件事怎么办 买的家具味道大怎么办 买的木床有味道怎么办 宝宝拍胸片衣服有扣子怎么办 前扣内衣扣子坏了怎么办 运动内衣穿上平胸怎么办 文胸的海绵变形了怎么办 文胸背部松紧变形了怎么办 黑色裤子被漂白水漂红了怎么办 黑色裤子晒红了怎么办 黑色裤子泛红了怎么办 黑色裤子洗红了怎么办