图形学一——渲染流程

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] 显示的分辨率

 

 

你可能感兴趣的:(图形学)