TA入门笔记(一)

本文详细介绍了图形渲染流水线,包括CPU和GPU两个阶段。CPU阶段涉及场景数据准备、加速算法和渲染设置,GPU阶段包括几何、光栅化和后处理阶段。重点讲解了顶点着色器、光栅化、抗锯齿技术以及逐片元操作等关键步骤。
摘要由CSDN通过智能技术生成

参考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)

  • 可编程
  • 把顶点坐标从模型空间转换到齐次裁剪空间(投影坐标系) ,顶点着色器的输出就是在裁剪空间上。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值