Android Studio + OpenGL ES 学习记录

本文记录了使用Android Studio结合OpenGL ES进行图形渲染的学习过程,包括OpenGL ES的基础概念、Android中的GLSurfaceView和GLSurfaceView.Renderer的使用,以及如何在Android手机上绘制一个基本的三角形。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android Studio + OpenGL ES 学习记录

OpenGL是一种应用程序编程接口,它是一种可以对图形硬件设备特性进行访问的软件库,而OpenGL ES是OpenGL的子集,针对手机、PDA和游戏主机嵌入式设备而设计。OpenGL ES 是从 OpenGL 裁剪定制而来的,去除了 glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性,剩下最核心有用的部分。

简介

OpenGL是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API),而在嵌入式和移动平台的版本是OpenGL ES。Android最初就支持OpenGL ES的1.0版本,到现在已经支持到最新的3.2版本,下面的支持变化图:
在这里插入图片描述

版本支持声明

可以在AndroidManifet.xml中加入下面这行使用特性的声明,Google Play将会过滤掉不支持指定OpenGL ES版本的用户,拒绝他们安装。

  <!-- 需要OpenGL ES 2.0 -->
  <uses-feature android:glEsVersion="0x00020000" android:required="true" />

也可以在代码中判断gles的版本,version同样传入版本号即可(例如0x20000)

   public static boolean checkOpenGL(Activity activity, int version) {
      ActivityManager am = (ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE);
      if (am != null) {
          return am.getDeviceConfigurationInfo().reqGlEsVersion >= version;
      }
      return false;
  }

OpenGL ES的名词解释
图元
官方的解释是图形软件用来描述各种图形的函数,可以理解为图元就是组成图像的基本单元。

顶点数据
在计算机中图元的位置是通过x,y,z,w来存储或颜色数据是通过RGBA的数组格式存储的,然后通过多个点来进行图元装配和光栅化出图形。

片元
元是光栅化过程的产物,光栅化是将一个图元转变为一个二维图象。

光栅化
光栅化是处理区域内的图元并生成片元数据。

OpenGL渲染管线
是显卡芯片内部处理图形信号相互独立的并行处理单元。也就是把数据转化到openGL并且生成最终图像的一个过程。

GLSL是什么
GLSL是一门专门为图形开发设计的编程语言。

可编程管线的编程阶段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值