OpenGL ES 版本介绍

打印 上一主题 下一主题

主题 872|帖子 872|积分 2616

目录
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 转场
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 函数
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES GPUImage 使用
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES GLSL 编程
一.OpenGL ES 版本

OpenGL ES 1.x 针对固定管线硬件
OpenGL ES 2.x 针对可编程管线硬件

  • OpenGL ES 1.0 以 OpenGL 1.3 规范为基础
  • OpenGL ES 1.1 以 OpenGL 1.5 规范为基础
  • OpenGL ES 2.0 以 OpenGL 2.0 规范为基础
  • OpenGL ES 3.0 于 2012 年公布,在 OpenGL 3.x 和 4.x 的基础上增加了许多新的功能。
二.嵌入式设备的 OpenGL ES 版本

OpenGL ES 1.x 支持 初代 iPhone 和 Android;
OpenGL ES 2.0 支持 Android 2.2 以后的平台,支持 iPad , iPhone3GS 和后续版本,以及 iPodTouch3 代和后续版本。
OpenGL ES 3.0 支持 Android 4.3 以后的平台。支持 iPhone 5s ,iPad Air ,iPad mini 2 及后续版本。
三.不同 OpenGL ES GLSL 脚本区别

1.OpenGL ES 1.0 不支持脚本
  1. glBegin()
  2. //...
  3. glEnd();
复制代码
2.OpenGL ES 2.0 GLSL 脚本
  1. //顶点着色器
  2. attribute vec4 aPosition;                            // 应用程序传入顶点着色器的顶点位置
  3. attribute vec2 aTextureCoord;                        // 应用程序传入顶点着色器的顶点纹理坐标
  4. varying vec2 vTextureCoord;                          // 用于传递给片元着色器的顶点纹理数据
  5. void main()
  6. {
  7.     gl_Position = aPosition;                         // 此次绘制此顶点位置
  8.     vTextureCoord = aTextureCoord;                   // 将接收的纹理坐标传递给片元着色器
  9. }
  10. //片元着色器
  11. precision mediump float;                           // 设置工作精度
  12. varying vec2 vTextureCoord;                        // 接收从顶点着色器过来的纹理坐标
  13. uniform sampler2D sTexture;                        // 纹理采样器,代表一幅纹理
  14. void main()
  15. {
  16.     gl_FragColor = texture2D(sTexture, vTextureCoord);// 进行纹理采样
  17. }
复制代码
3.OpenGL ES 3.0 GLSL 脚本
  1. //顶点着色器
  2. #version es 300
  3. uniform mat4 u_matViewProj;
  4. layout(location = 0) in vec4 a_position;
  5. layout(location = 1) in vec3 a_color;
  6. out vec3 v_color;
  7. void main() {
  8.     gl_Position = u_matViewProj * a_position;
  9.     v_color = a_color;
  10. }
  11. //片元着色器
  12. #version es 300
  13. precision mediump float;
  14. in vec3 v_color; // input form vertex shader
  15. layout(location = 0) out vec4 o_fragColor;
  16. void main() {
  17.     o_fragColor = vec4(v_color, 1.0);
  18. }
复制代码
四.OpenGL ES 和 OpenGL


五.猜你喜欢

本文由博客 - 猿说编程 猿说编程 发布!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农妇山泉一亩田

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表