Android中的OpenGL ES简介

音视频开发系列(32)OpenGL ES 基本概念 目录 OpenGL ES的简介 OpenGL ES的基本流程和概念 篇外话:本来这篇要写SurfaceView和TextureView相关的,但是没有理解清楚,主要是对于纹理和SurfaceFlinger等认知不足,而纹理又是OpenGL的一个重要概念,所以先开启OpenGL的系列,后面再补上SurfaceView和TextureView。 我第一次接触OpenGL ES是一年前,但是看到OpenGL中各种专业名词和专业术语,感觉云里雾里,虽然按照书中的介绍实现了效果,但是终究还是没有 阅读详情
    OpenGL ES软件层次栈,本章介绍了Android系统中OpenGL ES的调用层次栈,详细分析了库之间如何通过钩子(hook)实现API调用关联,让我们明白各个库之间的依赖关系。本节为Android中的OpenGL ES简介。
    Android中的OpenGL ES简介
    Android支持使用OpenGL(Open Graphics Library)API进行2D和3D图形的绘制 ,尤其使用OpenGL ES(Embedded System) API。OpenGL是一个跨平台的图形API规范,它为3D图形处理硬件定义了一套标准的软件接口。OpenGL ES是在OpenGL API的基础上专为嵌入式设备选取的一套API规范。自早期的版本Android 1.0就开始支持OpenGL ES 1.0和1.1规范,自Android 2.2版本开始支持OpenGL ES 2.0规范。Android提供的OpenGL ES API类似于J2ME JSR239标准,但不同。我们既可通过Android Framework中提供的API,也可以通过Native层(Native Development Kit ,NDK)的API去使用OpenGL。开发者可以使用Framework中两个基本的类GLSurfaceView和GLSurfaceView。Renderer在Android应用程序中进行图形绘制操作,也就是在Renderer中使用OpenGL API在GLSurfaceView上进行绘制,具体如何使用它们,详见官方文档  。

    在使用GLSurfaceView和GLSurfaceView.Renderer进行绘制时,可以使用下面这些OpenGL ES API包。

    (1)包javax.microedition.khronos.opengles提供OpenGL ES 1.0/1.1标准实现,可以使用的API类包括:GL10、 GL10Ext、 GL11、 GL11Ext和GL11ExtensionPack。

    (2)包android.opengl,提供了一套静态函数接口,包括OpenGL ES 1.0/1.1和2.0,其性能优于包javax.microedition.khronos.opengles。支持OpenGL ES 1.0/1.1的类包括:GLES10、 GLES10Ext、 GLES11和GLES10Ext;支持OpenGL ES 2.0的API类是:android.opengl.GLES20 (自Android 2.2开始)。
    由于Android支持OpenGL ES 1.0/1.1、2.0,且由于二者有显著差异。那么该选择哪个版本呢?在本节参考的Google文档里的"Choosing an OpenGL API Version"部分列出了四项因素,介绍如下。

    (1)性能 :通常,OpenGL ES 2.0能比ES 1.0/1.1提供较快的性能。但是,这最终依赖于Android设备,不同的设备平台OpenGL的实现不同。
    (2)设备兼容性:开发者开发的应用程序需要考虑Android设备类型,不同的Android版本对OpenGL版本支持不同,如OpenGL ES 2.0自Android 2.2才开始支持。
    (3)编码便利性:OpenGL ES 1.0/1.1 API编程较为方便,2.0版本相对复杂些。

    (4)图形控制:通过使用shaders,OpenGL ES 2.0对图形绘制能提供较多的控制,可以创建更好的效果,在1.0/1.1版本上则很难达到。

     原文地址:http://blog.youkuaiyun.com/kaitiren/article/details/8537040

Android调用OpenGL绘制曲线入门手册  Android调用OpenGL绘制曲线入门手册  Android  OpenGL ES2.0 JNI  Cmake简介:该手册内容仅作为Android调用OpenGL实现绘制曲线图的入门手册,深入学习请参考手册推荐书籍。本手册针对采用jni接口实现java调用C++代码完成OpenGL在Android中的曲线绘制做了详细流程介绍,最终实现效果为在Android平台绘制正弦曲线。 撰写人:武斌(1... 阅读详情

相关推荐

Cadence——原理图相关教程

包含创建文件,原理图,元器件,规则检查,PDF与BOM清单输出,各类PCB网表

haonanyayaya的博客 1万+

Android之OenGL ES 之 EGL

什么是OpenGL? Open Graphics Library (OpenGL) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact wi...

小薇子的博客 1181

K230开发板实战:5步搞定YOLOv8模型部署(附常见报错解决方案)

本文提供了一份详细的K230开发板部署YOLOv8模型的实战教程。内容涵盖从环境准备、模型转换到代码编写的完整流程,并重点解析了使用AICube工具链时常见的“生成部署文件异常”等报错解决方案,旨在帮助开发者高效完成嵌入式AI模型部署。

weixin_29053073的博客 783

Android 平台 OpenGL 环境搭建的两种方法及示例

static float triangleCoords[] = { // 按逆时针方向顺序// 设置颜色// 初始化顶点字节缓冲区// (每个浮点数占用4个字节)均同上。

说码解字 2722

PaddleOCR PP-OCRv5实战:5分钟搞定身份证信息提取(附完整代码)

本文详细介绍了如何利用PaddleOCR的PP-OCRv5模型,在5分钟内快速搭建身份证信息提取流程。文章从环境搭建、核心代码实战出发,深入解析了PP-OCRv5针对证件识别的优化特性,并提供了从OCR结果到结构化数据的完整处理方案与避坑指南,帮助开发者高效实现AI驱动的自动化信息提取。

salt9的博客 782

在AVP28335(兼容德州仪器TMS320-28335) 上实现ModbusSlaveRTU-485源码及注释。

今天先把题目先给出来, 在近两天会把源码 (含详细注释 )及部署、测试结果给出来, 希望能给大家帮助。(全免费 我有点缺德,断了别人的一个财路)。

FOOLCODE的专栏 641

初识Android OpenGL ES

第一章 创建OpenGL ES的环境首先需要为OpenGL ES创建一个视图(View)容器,一种实现方式是创建一个类实现GLSurfaceView和GLSurfaceView.Renderer。GLSurfaceView是显示图形的视图(View)容器,GLSurfaceView.Renderer是控制画图的方法。更多的介绍可以看OpenGL ES的开发指南。GLSurfaceView是多种集成O

K-night的专栏 4061

【算法】基于STM32的MPU6050卡尔曼滤波算法(入门级)

1. 简介 卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。详情见:卡尔曼滤波简介 MPU6050的解算主要有三种姿态融合算法:四元数法 、一阶互补算法和卡尔曼滤波算法。我们常用的DMP库使用的是四元数法,本文采用卡尔曼滤波算法,使用RT-Thread国产操作系统,利用env工具进行串口、模拟IIC环境配置,使用10ms的线程进行卡尔曼滤波解算。 2.

weixin_44549777的博客 3万+

从零开始学OpenGLES开发——第二章

从零开始学OpenGLES开发——第二章 第二章 OpenGLES1.0的纹理贴图 将上一章的代码精简一下,只画留一个三角形的绘制。 数据初始化代码: private FloatBuffer vertexBuffer = null ; public void onSurfaceCreated(GL10 gl, EGLConfig config) { float

「花岗岩是甜的」的专栏 2617

【WRF-Urban】增加动态空间热排放数据以替换人为热排放参数

增加动态空间热排放数据以替换人为热排放参数

WW、forever的博客 1044

Open3D 读取、保存、显示点云【2025最新版】

paint_uniform_color给所有的点上一个统一的颜色。博客长期更新,本文最近更新时间为:2025年1月1日。

点云侠的博客 37万+

[android] OpenGL与OpenGL ES简介

简介 OpenGL OpenGL的全称是Open Graphics Library,即开放的图形库接口,它定义了一个跨编程语言,跨平台的编程接口的规范,它主要用于3D图形(2D也可以)编程。OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS RL是一个工业标准的3D图形软件接口,功能虽然强大,但是移植性不好,于是SGI公司在IRIS GL的基础上开发了OpenGL。

努力奋斗 929

STM32cubemx配置驱动DHT11模块

本篇文章将带大家学习使用DHT11湿温度模块,使用这个模块可以获取当前的温度和湿度数据。DHT11可以用于智能家居,蔬菜大棚等项目当中适用范围广。DHT11 是一种数字式温湿度传感器,由杜邦公司推出。它可以测量环境中的温度和湿度,并将测量结果以数字形式传输给微控制器或其他电子设备,适用于通过数字信号读取环境温湿度的应用场景。DHT11 传感器使用单总线数据交换协议,可以通过一个 I/O 引脚进行控制和数据传输。

m0_49476241的博客 5912

Android OpenGL ES简介

参考 OpenGL ES简介

zuochunsheng的博客 378

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android中多态的应用_OpenGL简介与OpenGL ES在Android中的应用

OpenGLOpenGL 、OpenGL ES简介OpenGLOpenGLES 3.0图形API汇总着色器与管线着色器程序Shader顶点着色器VertexShader片元着色器FragmentShader管线内置变量与内置函数内置变量内置函数总结渲染宿主渲染窗口宿主GLSurfaceView和TextureView的区别EGL什么是EGL自己写一个TextureEGLHelper来管理...

weixin_39566578的博客 243

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android OpenGL ES (一)简介

OpenGL是什么 OpenGL是一个跨平台的软件接口语言,用于调用硬件的2D、3D图形处理器。 由于是只软件接口,所以具体底层实现依赖硬件设备制造商。 Android includes support for high performance 2D and 3D graphics with the Open Graphics Library (OpenGL®), specifical...

android开发笔记 516

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Android OpenGL ES 0.简介

OpenGL是什么 OpenGL是一个跨平台的软件接口语言,用于调用硬件的2D、3D图形处理器。 由于是只软件接口,所以具体底层实现依赖硬件设备制造商。 Android includes support for high performance 2D and 3D graphics with the Open Graphics Library (OpenGL®), specifically,...

yiyiyi130的专栏 227

Android AR开发实践之五:OpenGL ES 3.0简介

ARCore系列文章之五:------ OpenGL ES 3.0简介 一、OpenGL简介 二、基础概念 1、Context上下文 2、EGL 3、Texture纹理 4、坐标系 5、渲染 一、OpenGL简介 Android 可通过开放图形库 (OpenGL®)(特别是 OpenGL ES API)来支持高性能 2D 和 3D 图形。 OpenGL 是一种跨平台的图形 API,用于为 3D 图形处理硬件指定标准的软件接口。 OpenGL ES (OpenGL for Embedded Sys

yangwu007的博客 1909

【安卓开发系列 -- APP】OPENGL ES -- 绘制原理简介

【安卓开发系列 -- APP】OPENGL ES -- 绘制原理简介 【1】OPENGL ES 的渲染管线概念 渲染管线(渲染流水线)一般是由显示芯片(GPU)内部处理图形信号的并行处理单元组成; 这些并行处理单元两两之间是相互独立的,在不同型号的硬件上独立处理单元的数量也有很大的差异; 【2】OPENGL ES 3.0 的渲染管线 【2.1】 基本处理 该阶段设定 3D 空间中物体的顶点坐标、顶点对应的颜色、顶点的纹理坐标等属性,并且指定绘制方式;【2.2】顶点缓冲对象 该阶段的功能在应用程序

CopperSun 技术博客 853

Android高级进阶二 Android OpenGL | ES介绍

最新版本:Android高级进阶二 Android OpenGL | ES介绍         Android支持3D图像开发,使用的是开源的OpenGLES库,接下来我们将在一系列的文章中介绍 Android 3D图像开发。 1、什么是 OpenGL?         详看:Android高级进阶一 OpenGL介绍 2、OpenGL 的发展历程   1992年7月 发布了 O

另一度空间的专栏 803

Android OpenGL ES 渲染 YUV

1)eglGetDisplay 获取EGL显示窗口2)eglInitialize 对(1)中获取到的Display进行初始化3)eglChooseConfig 根据对窗口的条件要求从系统中选择最佳的配置数据4)eglCreateContext 结合EGLDisplay与EGLConfig创建EGL上下文5)eglCreateWindowSurface 通过Android提供的Surface创建画布。

irainsa的博客 548

Android OpenGL 学习笔记 --开始篇

Android OpenGL 学习笔记 --开始篇 2010-07-09 16:41:13 标签:笔记 学习 移动开发 Android OpenGL 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://terryblog.blog.51cto.com/1764499/346996 1、什么是 Open

autumn20080101的专栏 666

Android OpenGL学习笔记

1、什么是 OpenGL?  OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。OpenGL 的前身是 SGI 公司为其图形工作站开的 IRIS GL。IRIS GL 是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在 IRIS GL 的基础上开发 OpenGL。2、OpenGL 的发展历程  1992年7月发布了OpenGL 1.0 版...

weixin_30664615的博客 86

在Android中使用OpenGL ES开发第(五)节:GLSL基础语法

一、前期基础储备 笔者之前的四篇文综述了Android中使用OpenGL ES绘制基本图形和实现了简单的相机预览,初次接触OpenGL ES开发的读者可能对其中新的概念比较迷惑,尤其是其中的顶点着色器(Vertex Shader)和片元着色器(Fragment Shader),我们知道,在OpenGL中顶点着色器是针对每个顶点执行一次,用于确定顶点的位置。片元着色器是针对每个片元,片元可以理解为...

u010006895的博客 418
上一篇: OpenGL ES Emulator比较
下一篇: arm-none-linux-gnueabi交叉工具链安装 ,介绍,区别总结
cbbbc
博客等级 码龄15年 609粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值