您的位置:首页 > 运维架构

OpenGLES---OpenGL运行原理

2016-05-24 11:16 148 查看


{固定管线
1:VertexData    顶点数据
2:model matrix  模型矩阵
3:view matrix   观察矩阵
4:Projection Matrix 投影矩阵
5:Divide byw 标准化设备坐标系
6:Viewport Transform  视口

Object Coordinates
模型坐标系,也叫Local坐标系。例如我们3DMax,Maya等建模工具建立人物模型时,
模型中的顶点坐标值就是model坐标系的值,设想我们有好多个模型,那么每-个模型
都有属于自己的model坐标系

Eye Coordinates
Camera坐标系是人的眼观察World坐标系时,以人眼为原点,视线方向为Z轴建立的新坐标系,
这个坐标系以观察者(眼睛)为中心,为视野裁切和投影等做好铺垫,随着观察者眼睛位置的变化
,或者视线方向的变化,Camera坐标系也同时变化

Projection Matrix 投影矩阵
Projection即投影坐标系基于Camera坐标系变化而来的新坐标系,这个新坐标系把视野外的东西剔除掉,
把视野内的东西投影到屏幕(进裁面)上,并且离眼睛越远的东西看起来越小

Divide byw 标准化设备坐标系
它更像是窗口坐标系,只是还没有转换或者缩小到屏幕像素

Windows Coordinates(窗口坐标系)/ Screen Coordinates(屏幕坐标系)
将标准化坐标系(NDC)应用于视口转换,NDC将缩小和平移以便适应屏幕的透视

1:VertexData-----Object Coordinates(平移,旋转,缩放)---->2:model matrix----Eye Coordinates-->3:view matrix------->
4:Projection Matrix----Clip Coordinates-----> 5:Divide byw-----Normalired Device Coordinatos----> 6:Viewport Transform---Windows Coordinates-->
}




{渲染流程
API -->1:Vertex Arrays/Buffer Objects  // 顶点缓冲区对象vbo/顶点数组对象vao
-->2:VertexShader //顶点Shader
-->3:PrimitiveAssembly //图元装配
-->4:Rasterization //光栅化
-->5:FragmentShader //片段Shader
-->6:Per-FragmentOperations //美像素操作
-->7:Framebuffer //输出画面到缓冲区

1:Vertex Arrays/Buffer Objects
2:VertexShader //顶点Shader
空间坐标:就是把三维坐标转成屏幕坐标
纹理:生成并变换纹理坐标
光照:综合变换后顶点,表面法线,光源位置,材料属性以及其他光照信息进行光照计算
3:PrimitiveAssembly //图元装配
图元装配的一个主要内容就是剪裁,点剪裁就是简单地接受或拒绝顶点
4:Rasterization//光栅化
就是把几何数据和像素数据转换成片断(FragmentShader)的过程。
每个片断块对应于帧缓冲区中一个像素。
把顶点连接起来形成直线或者计算填充多边形的内部像素时,需要考虑直线和多边形的点画模式,直线的宽度,点的大小,着色模型以及用于支持抗锯齿处理的覆盖计算,每个片断方块都将具有各自的颜色和深度
5:FragmentShader 片段Shader
在数据实际存储到帧缓冲区之前,将要执行一系列的操作。
这些操作可能会修改甚至丢弃这些片断,所有这些操作都可以被启动或禁用。
第一个可能执行操作时纹理处理,在纹理内存中为每个片断生成一个纹理单元(texel,也就是纹理元素),并应用到这个片断上。
接着可能进行的是雾计算,然后是剪裁测试,alpha测试,模板测试和深度缓冲区测试。
如果一个片断无法通过一个启用的测试,它的连续处理过程可能会被中断。随后,将要执行的可能是混合,抖动,逻辑操作以及
根据一个位掩码的屏蔽操作。最后,进过完整处理的片断就被绘制到适合的缓冲区,最终成为一个像素并到达它的最终栖息地
6:Per-FragmentOperations //美像素操作

7:Framebuffer

}


需要写代码的

-->2:VertexShader //顶点Shader

-->5:FragmentShader //片段Shader
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: