概述
Opengl 渲染流程:
一 、cpu: 模型文件 加载到内存 通过MeshRender 渲染出来
1. 模型文件:包含模型 顶点 uv 法线 切线 等渲染所需要的信息
2. MeshRender:将信息传递给Gpu . skin mesh render / mesh render mesh filter
3.skin mesh render:带蒙皮骨骼的模型
4.mesh render /mesh filter 这两个是同时绑定的 mesh filter :表示将哪个模型信息传递给gpu
二 、gpu 渲染管线:
顶点着色器 > 光栅化 > 片段着色器 > alpha测试 > 模板测试 > 深度测试 > Blend >fontBuffer > framebuffer > 显示器
1.顶点着色器 :1 计算顶点的颜色 2.将物体坐标系 转换到相机坐标系
2. 光栅化:将顶点转换成像素 显示顶点颜色像素 其余像素用插值来表现 如果是4个顶点 顶点着色器需要运行4次?
假设: 顶点4个 到了 片段着色器 100*100 像素
结论:顶点着色器会运行4次 片段着色器会运行10000次 顶点着色器 和 片段着色器 运算次数不是一个量级 能把运算放 在顶点着色器里的话 ,一定要放在顶点着色器
3.片段着色器:已经是像素点。
像素:RGBA 4通道组成 RGBA 8888 表示每个通道占8位
屏幕:720*1280 代表 横有720个像素 竖排 1280个像素 每个像素里包含了RGBA
float[720*1280]
(1).纹理采样 从纹理像素赋给像素
(2).像素跟灯光计算
4.Alpha 测试:挑选合格的alpha像素显示
5.模板测试:像素还可以携带模板信息 RGBA意外的信息 达到条件的模板值会被显示出来
6. 深度测试:符合条件的像素通过 不然就丢弃
7.Blend:将当前要渲染的像素 和 已经 渲染的像素 混合运算
8.Gbuffer: RGBA 模板值 深度值 等 也叫深度缓冲
9.Front Buffer RGBA
10.framebuffer: 显示器显示 float[720*1280] 显示的分辨率
最后
以上就是耍酷小蜜蜂为你收集整理的图形学一——渲染流程的全部内容,希望文章能够帮你解决图形学一——渲染流程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复