栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

Unity shader学习笔记1 渲染管线

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity shader学习笔记1 渲染管线

文章目录
  • 前言
  • 渲染管线
      • 1.渲染管线的整体流程
        • a.应用阶段
        • b.几何阶段
        • c.光栅化阶段
      • 2.cpu和gpu之间的通信(Draw Call)
        • a.数据传递
        • b.设置渲染状态
        • c.调用draw call
      • 3.GPU流水线
        • 顶点着色器
        • 裁剪
        • 屏幕映射
        • 三角形设置
        • 三角形遍历
        • 片元着色器
        • 逐片元操作
  • 总结


前言

第一篇博客,总感觉还是得把学过的东西都给记录下来,就当写着玩玩了
这几天看了Unity shader入门精要的前几章,总感觉还是有点不懂,先把几个点给写一下吧

渲染管线

Render Pipeline 书里面叫做渲染流水线,大概意思就是指计算机渲染当前场景并将其呈现在屏幕上的一个整体流程,和cpu流水线相似,渲染管线的出现也在很大程度上提高了计算机渲染3维场景的效率(这里的计算机渲染指的是cpu与gpu共同渲染)

1.渲染管线的整体流程

渲染管线分为应用阶段,集合阶段,光栅化阶段三个步骤

当然每个阶段也是一个单独的流水线系统

a.应用阶段

应用阶段尚还处在cpu的管辖范畴中,由上面的图可以清楚的知道,这一阶段的主要目的是得到一个叫做渲染图元的东西,其解释为“渲染所需要的几何信息”。
在这一阶段中要准备好三个东西
1.场景中的模型,光源,摄像机的位置等
2.粗粒度剔除(culling),即把不可见的物体剔除出去
3.设置每个模型的渲染状态,材质,纹理,着色器(也就是shader)等

b.几何阶段

几何阶段要将从应用阶段得到的渲染图元进行逐顶点,逐多边形的操作,这个操作较为复杂,会将顶点坐标变换到屏幕空间中,得到其二维顶点坐标,以及每个顶点对应的深度值,着色等信息,即图中的输出屏幕空间的顶点信息

c.光栅化阶段

这一阶段的主要任务是将得到的屏幕空间顶点信息转变为屏幕上的像素,即决定每个渲染图元的哪些像素应该被绘制在屏幕上

2.cpu和gpu之间的通信(Draw Call) a.数据传递

所有渲染所需要的数据都要先从硬盘种被加载到内存中,然后网格纹理等数据又要从内从中加载到显存中

b.设置渲染状态 c.调用draw call

cpu通过draw call命令来告诉gpu开始渲染,gpu就会根据渲染状态和所有顶点数据计算并输出结果到屏幕上

3.GPU流水线

顶点着色器

两个过程
1.顶点坐标变换
在做顶点动画的时候非常有用,例如布料模拟,水等.abc文件
同时,顶点坐标变换会把顶点变换到其次裁剪坐标系下,即标准化顶点位置(类似于blender里面的ctrl+a应用全部变换)

2.逐顶点光照
该过程将为每个顶点计算一次光照颜色,然后在通过顶点在多边形所覆盖的区域对像素颜色进行线形插值。(来自bing)(三点成面)

裁剪

顾名思义,将整个场景裁剪得到只有摄像机视野范围这么大一块,完全在视野里面的面保留,完全不在视野里面的面被抛弃,部分在视野里面的面在被裁剪处用两个新的顶点代替。而由于在顶点着色器中我们已经对顶点坐标进行了变换,则裁剪将变得比较容易,把顶点位置在单位立方体内的顶点留下就可以了。

屏幕映射

进行一个类似于顶点坐标变换的变换,这次变化的是图元坐标,将每个图元的x和y坐标转换到屏幕坐标系下,其中存在一个缩放和拉伸的过程。
有意思的是,OpenGL和DirectX的屏幕坐标系是相互镜像的,DirectX的屏幕坐标原点在左上角,OpenGL的屏幕坐标原点在左下角

三角形设置

这是光栅化的第一个阶段,其目的是得到三角形每条边包含的像素坐标(相当于是边的像素,而下一步三角形遍历得到的是面的像素)

三角形遍历

生成片元的阶段,一个一个的片元组成一个片元序列,一个片元包含了其所对应像素的屏幕坐标,深度信息等等

片元着色器

非常非常重要的阶段
根据片元信息计算片元输出颜色

逐片元操作

总结

文章包含了一个最基本的渲染管线应该包含的内容与步骤,可能不是很详细甚至有错误,欢迎各位大佬批评指正。TA之路任重道远啊

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/901198.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号