渲染流水线与Shader概念(三)

本系列文章系学习 唐福幸《Unity ShaderLab 新手宝典》的笔记,包含个人理解,如有错误欢迎批评指出

渲染流水线与Shader概念

2.4 现代GPU渲染流水线

OpenGL渲染流水线:

  1. 顶点着色器:GPU从CPU处获取到顶点数据后,放入顶点着色器,顶点坐标会从模型空间转变成裁切空间。------顶点着色器许用户通过shader程序配置
  2. 装配图元:将(顶点着色器输出的)顶点数据装配成图元(点、线、面)
  3. 光栅化:将几何图元转变成片段的过程(图元像素化)
  1. 确定屏幕坐标中的哪些整型栅格区域被基本图元占用
  2. 分配颜色值和深度值到各个区域
  3. 例:甲方(装配图元)出需求,设计师(光栅化)设计出具体的图纸
  1. 片段着色器:片段经过视锥体裁切后被传递到片段着色器。片段着色器计算每一个像素的颜色,包括计算光照、阴影、纹理等所有的颜色数据得到像素的颜色------片段着色器允许用户通过shader程序配置
  2. 测试和混合:所有像素颜色确定下来之后,进入测试和混合阶段。一般处理物体相互遮挡时,该显示的内容
  1. 检测所有像素的深度值
  2. 将当前片段的深度值与深度缓存中的数值对比
  3. 判断这个物体前面是否有物体进行遮挡(决定这个像素是否该被丢弃)
  1. 帧缓存:用于存储渲染到屏幕上的像素,等待下一步输出到屏幕。

2.5 Shader概念

刚刚上面流水线有两个阶段开放给用户自定义配置:顶点着色器、片段着色器,就是通过Shader程序(他是运行在GPU上的)

Shader语言主要的集中种:

  1. Windows自家:Direct3D:HLSL
  2. 全平台移植性性高:OpenGL:GLSL
  3. CG语言

Shader与材质的关系:Shader+参数设置+贴图 = 材质

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值