Unity渲染学习——OpenGL渲染流程

OpenGL渲染流程图示
在这里插入图片描述
这里可以看到一个简单的渲染流程,以及CPU和GPU在渲染过程中分别执行的操作,这里将 CPU发送指令到GPU 的过程 称为一次DrawCall。
按照上图简单分析一下:
CPU的工作:通过读取模型数据(.obj文件存储模型顶点信息,模型UV信息,模型顶点索引信息)传递给GPU。
GPU的工作:顶点着色器 -->>光栅化 -->> 片段着色器 -->> Alpha测试 -->>模板测试 -->> 深度测试 -->> Blend -->>GBuffer -->> frontBuffer -->> frameBuffer -->> 输出到显示器

在这里插入图片描述在这里插入图片描述
整个过程就是将模型的顶点信息通过矩阵运算变幻到窗口坐标系中(矩阵中的MVP变换,因为OpenGL采用的是列矩阵运算方式,实际的矩阵运算方程是从右往左运算,Vclip=Mprojection⋅Mview⋅Mmodel⋅Vlocal),在OpenGL 中vertex data顶点数据被存放到VBO(vertex buffer object)中,索引缓冲数据存放在EBO中,通过管线传到GPU中VAO(Vertex Array Object),然后通过GPU的渲染管线将数据输出到屏幕。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值