TA入门笔记(一)

参考may佬《技术美术百人计划》
容易混淆的Clip Space vs NDC,透视除法
冯乐乐《unity shader 入门精要》

图形1.1 渲染流水线

整体流程

  1. 应用阶段:准备场景数据、粗粒度剔除、进行渲染设置、输出到几何阶段
  2. 几何阶段:顶点着色器、曲面细分、几何着色器、顶点裁剪、屏幕映射
  3. 光栅化阶段:三角形设置、三角形遍历、片元着色器、逐片元操作
    • 逐片元操作:裁剪测试、透明度测试、深度测试、模板测试、混合

渲染流水线流程


CPU流水线(应用阶段)

准备基本场景数据

场景物体数据
  • 变换数据:位置、旋转、缩放
  • 网格数据:顶点位置、UV贴图
光源及阴影数据
  • 光源类型:平行光、点光、聚光
  • 位置、方向、角度等数据
摄像机数据
  • 位置、方向
  • 远近裁切平面
  • 正交/透视(FOV)
  • 视口比例/尺寸等
其他全局数据

加速算法/粗粒度剔除

碰撞检测
加速算法
遮挡剔除
  • 可见光裁剪
  • 可见场景物体裁剪
    • 八叉树
    • BSP树
    • K-D树
    • BVH

设置渲染状态 准备渲染参数

绘制设置
  • 使用着色器
  • 合批方式
绘制顺序
  • 相对摄像机的距离
  • 材质RenderQueue
  • UICanvas
渲染目标
  • RenderTexture
  • FrameBuffer
渲染模式
  • 前向渲染
  • 延迟渲染

调用drawcall 输出渲染图元到显存

CPU通过调用draw call来告诉GPU开始进行一个渲染过程;一个draw call会指向本次调用需要渲染的图元列表

  • 顶点数据
    • 位置
    • 颜色
    • 法线
    • 纹理UV坐标
    • 其他
  • 其他数据
    • MVP矩阵
    • 纹理贴图

GPU流水线

在这里插入图片描述

几何阶段

顶点着色器(Vertex Shader)

  • 可编程
  • 把顶点坐标从模型空间转换到齐次裁剪空间(投影坐标系) ,顶点着色器的输出就是在裁剪空间上。
    在这里插入图片描述
  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值