图形 1.1渲染流水线(知识梳理笔记)

目录

前言

渲染流水线整体流程

 序

应用阶段

 准备基本场景数据

 加速算法粗粒度剔除

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

 调用Draw Call ,数据输出到显存

几何阶段

  顶点着色

  顶点处理(可选)

  投影

  裁剪

  屏幕映射

光栅化阶段

三角形设置

三角形遍历(扫描变换)

逐片元操作

  片元着色

  颜色混合

  目标缓冲区

后处理


前言

   笔记整理来源:【技术美术百人计划】图形 1.1 渲染流水线_哔哩哔哩_bilibili  霜狼_may大佬的【技术美术百人计划】图形 1.1 渲染流水线

  参考相关在读书籍:《shader入门精要》,《GPU阳春白雪与下里巴人》第2章

  视传大一在读,纯小白,因为什么都不会,为了自己能更好理解,所以课程中某些一句带过的术语,超级简单的概念,结合百度和看书,在这里做了粗浅补充,有点长。欢迎各位大佬们纠错。

渲染流水线整体流程

 序

  0.1 什么是流水线

         释义:一条每个步骤(并行)由专人完成,从而使整体系统效率变高的生产线。

        优点:可以提高单位时间内的生产量,流水线系统中决定生产速度快慢取决于最慢的工序时间(即生产的瓶颈)。

 0.2 什么是渲染流水线(图形绘制管线)

        释义:即给定视点,三维物体,光源,照明模式,和纹理等元素(由一个三维场景出发),绘制(渲染)一幅二维图像。

       渲染流程的三个阶段:

           应用阶段——(输出渲染图元)——几何阶段——(输出屏幕空间的顶点信息)——光栅化阶段    (课程中分得更细,把光栅中逐片元划分出来,所以为四个阶段,加上后处理,共五个阶段) 

0.3 渲染流程概述

            应用阶段:1.准备场景,对象的基本数据;2.为提高渲染性能,做粗粒度剔除,剔除不可见物体;3.设置好每个模型的渲染状态。

            几何阶段: 决定绘制的图元是什么,怎样去绘制,在哪里绘制

           光栅化阶段:基于几何阶段的输出数据,为像素正确配色,以便绘制完整图像,该阶段进行的都是单个像素的操作,每个像素的信息储存在颜色缓冲器中。

应用阶段

渲染流水线的起点是CPU,即运用阶段

 准备基本场景数据

            数据准备包括 :        

                 场景物体数据: 物体变换数据(位置,旋转,缩放等)。物体网格数据,顶点位置,UV贴图等。 

                摄像机参数:位置/方向/远近/裁剪平面,正交/透视,视口比例/尺寸

                设置光源/阴影:设置光源(光源类型以及其位置,方向,颜色,范围等),设置阴影(阴影参数,对应光源序号,阴影强度,级联参数,深度偏移,近平面偏移等。)

                 以及其他全局数据         

 加速算法粗粒度剔除

                可见光裁剪:聚光的光锥和摄像机的视锥体不相交的,不可见的,剔除,不参与渲染

               可见场景物体裁剪,八叉树/BSP树/K_D树/BVH/PVH包围盒等(相关算法)        

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

               (以unity为参考相关流程)

               绘制设置:使用着色器/合批方式

               绘制物体的顺序(可以有多种方式):相对摄像机的距离 / 材质Renderquenue / UI Canvas / 其他方式

               渲染目标:FrameBuffer(帧缓冲器ÿ

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值