OpenGL、OpenGL ES简介

2018-03-05  本文已影响0人  LogyKoala

1、什么是OpenGL

        OpenGL是一个开放的图形库,它定义了一个跨编程语言、跨平台的编程接口的规范。(注意:他本身是一种规范,并不是一个API库)。

2、OpenGL的作用是什么

        1.建模:OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面绘制函数。

  2.变换:OpenGL图形库的变换包括基本变换和投影变换。基本变换有平移、旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透视投 影两种变换。其变换方法有利于减少算法的运行时间,提高三维图形的显示速度。

  3.颜色模式设置:OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index)。

  4.光照和材质设置:OpenGL光有辐射光(Emitted Light)、环境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。材质是用光反射率来表示。场景(Scene)中物体最终反映到人眼的颜色是光的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色。

  5:纹理映射(Texture Mapping)。利用OpenGL纹理映射功能可以十分逼真地表达物体表面细节。

  6:位图显示和图象增强图象功能除了基本的拷贝和像素读写外,还提供融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图象效果处理。以上三条可使被仿真物更具真实感,增强图形显示的效果。

  7:双缓存动画(Double Buffering)双缓存即前台缓存和后台缓存,简言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。

3、OpenGL与OpenGL ES之间的关系

        OpenGL ES是OpenGL中的一个子集

4、我们为什么要使用OpenGL ES呢

        1.再说为什么要使用OpenGL ES之前我们先来看一张图

         该图是CPU与GPU之间的交互,从图中可以看出CPU与GPU之间是不可以直接进行交互的,他们之间的交互式考他们各自对应的控制内存,而从一块内存中将数据复制到另外一个内存中速度是非常慢的,并且在复制的过程中CPU和GPU都是不能操作这块的数据的

        2.然后下面这张图是加了OpenGL的

        上图是有了OpenGL的加入,OpenGL会创建一个缓存区,从而使CPU和GPU通过缓存区连续的管理RAM从而解决内存复制过程中CPU与GPU不能访问数据的问题。

4、OpenGL的渲染管线

5、名词解释(OpenGL渲染管线各个流程都干了什么)

        1.顶点着色器:接收顶点数据单独处理每个顶点。

        2.细分着色器:描述物体形状在管线中生成新的几何体处理模型(让模型平顺)生成最终状态。

        3.图元:图元就是组成图像的基本单元(线段、点、三角形)。

        4.几何着色器:对所有的图像进行修改,改变几何图元的类型或者放弃掉所有的图元。

        5.裁剪:剪切掉视口之外的绘制

        6.光栅化:将输入图元的数学描述转化为与屏幕位置对应的像素片元。

        7.片元着色器:设置片元的颜色、深度值...

上一篇下一篇

猜你喜欢

热点阅读