关于OPENGL与OPENGL ES的区别

时间:2022-09-10 19:05:48
原文地址 :   http://bbs.gameres.com/showthread.asp?threadid=110334

早先定义OpenGL ES是OpenGL的嵌入式设备版本,但由于嵌入式设备要求的是高性能,所以一些其它纯追求高性能的设备也开始用这种API方式,比如 SONY PlayStation 3。

OpenGL ES相对OpenGL删减了一切低效能的操作方式,有高性能的决不留低效能的,即只求效能不求兼容性(和苹果的作风类似)。

典型:

1.没有double型数据类型,但加入了高性能的定点小数数据类型。
2.没有glBegin/glEnd/glVertex,只能用glDrawArrays/glDraw...............
3.没有实时将非压缩图片数据转成压缩贴图的功能,程序必须直接提供压缩好的贴图
===========================================================
===========================================================
数据类型:

1: i   GLint    整数型
2: f   GLfixed  定点小数
3: x   GLclampx 限定型定点小数

删除的功能:

1.glBegin/glEnd
2.glArrayElement
3.显示列表
4.求值器
5.索引色模式
6.自定义裁剪平面
7.glRect
8.图像处理(这个一般显卡也没有,FireGL/Quadro显卡有)
9.反馈缓冲
10.选择缓冲
11.累积缓冲
12.边界标志
13.glPolygonMode
14.GL_QUADS,GL_QUAD_STRIP,GL_POLYGON
15.glPushAttrib,glPopAttrib,glPushClientAttrib,glPopClientAttrib
15.TEXTURE_1D、TEXTURE_3D、TEXTURE_RECT、TEXTURE_CUBE_MAP
16.GL_COMBINE
17.自动纹理坐标生成
18.纹理边界
19.GL_CLAMP、GL_CLAMP_TO_BORDER
20.消失纹理代表
21.纹理LOD限定
22.纹理偏好限定
23.纹理自动压缩、解压缩
24.glDrawPixels,glPixelTransfer,glPixelZoom
25.glReadBuffer,glDrawBuffer,glCopyPixels

其它注意事项:

1.glDrawArrays等函数中数据必须紧密排列,即间隔为0
2.各种数据的堆栈深度较低