计算机图形的渲染流程

1.2渲染流程

openGL渲染流程

CPU

模型文件(FBX)=》MeshRender

模型文件

模型文(FBX)件包含了 uv 顶点位置 法线 切线 等渲染所需要的信息
在这里插入图片描述

SkinnedMeshRender / Mesh Rander & Mesh Filter 会负责把这些信息传递到GPU内(Unity会自动挂载这个组件)

SkinnedMeshRender:带蒙皮的骨骼
Mesh Rander 主要是将顶点等信息传递到GPU
Mesh Filter 表示将哪个模型信息传递给GPU

GPU

GPU流程通常被称为渲染管线:

顶点着色器-=》光栅化-=》片段着色器-=alpha测试-=》模板测试-=》深度测试-=》Blend-=》Gbuffer-=》frontBuffer-=》frameBuffer-=》显示器

顶点着色器

1、计算顶点的颜色
2、将物体坐标系转换到相机坐标系

光栅化

将顶点转化成像素
在这里插入图片描述

顶点 4个 到了片段着色器 100*100
结论:
顶点着色器会运行4次,片段着色器会运行10000次
顶点着色器和片段着色器运算次数不是一个量级
能把运算放在顶点着色器就放在这里

片段着色器

已经是像素点了
1、纹理采样:从纹理像素附给像素
2、像素和灯光计算

像素:由RGBA 4个通道组成
(或者被称RGBA8888 表示每个通道占8bit)
屏幕分辨率720*1280可以被描述为Float[720*1280]

Alpha测试:

挑选合格的alpha像素显示
比如RGBA里的A值小于0.5,进入透明状态,则这个像素不渲染

模板测试:

达到合格的像素、模板信息

像素还可以携带模板信息,达到条件的模板值显示

深度测试:

符合条件的像素就通过,不然就丢弃

Blend:

将当前要渲染的像素和已经渲染出来的像素混合运算

GBuffer:

通过测试后会将 RGBA 模板值 深度值 等等存储进GBuffer内

Buffer : 缓存区

FrontBuffer、FrameBuffer:

这两个交替显示,大小为当前显示区域、显示器的大小

Buffer : 缓存区

FrontBuffer、FrameBuffer:

这两个交替显示,大小为当前显示区域、显示器的大小

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值