当前位置: 首页 > news >正文

Unity Shader 之 渲染流水线

Unity Shader 之渲染流水线

什么是渲染流水线

一个渲染流程分成3个步骤:

  • 应用阶段(Application stage)
  • 几何阶段(Geometry stage)
  • 光栅化阶段(Rasterizer stage)

CPU 与 GPU之间的通信

通信主要包括3个步骤:

  • 把数据加载到显存中
  • 设置渲染状态
  • 调用Draw Call

GPU 流水线

GPU流水线示意图

在渲染流水线的几何阶段和光栅化阶段,开发者能做的事情很少,这里制作简单介绍。

GPU的渲染流水线接受顶点数据作为输入。这些顶点数据应用阶段加载到显存中,再由Draw Call指定。随后传递给顶点着色器。

顶点着色器(Vertex Shader)是完全可编程的,它通常用于实现顶点的空间变换、顶点着色。曲面细分着色器和几何着色器是可选的着色器。接下来时裁剪(Clipping),这一阶段是将那些不再摄像机视野内的顶点裁剪掉。几何着色器的最后阶段是屏幕映射(Screen Mapping)。

光栅化阶段除了片元着色器是可编程的外,其他都是不可编程的。

具体来说,shader就是:

  • GPU流水线上的一些可高度编程的阶段,而由着色器编译出来的最终代码是会在GPU上运行的
  • 有一些特定类型的着色器,如顶点着色器、片元着色器
  • 依靠着色器我们可以控制流水线的渲染细节,例如用顶点着色器来进行顶点变换以及传递数据,用片元着色器来进行逐像素的渲染

转载于:https://www.cnblogs.com/yoyo-sincerely/p/7898363.html

相关文章:

  • 1mysql二进制 安装
  • Docker安装和使用
  • 详解Bootstrap fileinput文件上传组件的实例
  • 【JAVA】基础知识_常见问题1
  • CAS单点登录(一):服务端搭建
  • C++ new失败的处理
  • LTE-Advanced(4G)主要技术学习:CA、CoMp、HetNet
  • core文件生成和路径设置
  • MySQL安装和简单操作
  • ubuntu中安装和卸载apache2
  • 胶囊式菜单
  • git网站
  • 第一周学习进度表
  • 利用VisualVM监视远程JVM
  • 奇怪的变量名
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 2019.2.20 c++ 知识梳理
  • 30天自制操作系统-2
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Codepen 每日精选(2018-3-25)
  • CSS中外联样式表代表的含义
  • ES6简单总结(搭配简单的讲解和小案例)
  • ES6系统学习----从Apollo Client看解构赋值
  • Flannel解读
  • MySQL数据库运维之数据恢复
  • React中的“虫洞”——Context
  • React组件设计模式(一)
  • 当SetTimeout遇到了字符串
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 构建二叉树进行数值数组的去重及优化
  • 小试R空间处理新库sf
  • 硬币翻转问题,区间操作
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #、%和$符号在OGNL表达式中经常出现
  • #define与typedef区别
  • #ifdef 的技巧用法
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #数学建模# 线性规划问题的Matlab求解
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (转)visual stdio 书签功能介绍
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • **CI中自动类加载的用法总结
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET Core中的去虚
  • .net mvc部分视图
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)