OpenGL ES开发中,有些概念会经常用到,在这里进行一个总结。什么是OpenGL ESOpenGL(Open Graphics Library)定义了一个跨编程语言、跨平台编程的专业图形程序接口。可用于二维或三维图像的处理和渲染,它是一个功能强大、调用方便的底层图形库。对于嵌入式设备,其提供了OpenGL ES(OpenGL for Embeddled Systems)版本,该版本是针对手机
本文简单介绍一下ffmpeg移植过程和中间碰到的一些问题,尤其是碰到的关于软硬浮点的问题。 1、移植步骤 ffmpeg的一些功能需要以下库的支持,yasm、x264、xvidcore、SDL;若后续不需要相关功能,无需移植安装。安装的版本的是ffmpeg-3.0.2,可至ffmpeg官网下载。编译工具链是arm-linux-gnueabihf-4.7,一定要参照开发板的工具链选择版本,否则可能
转载 2024-07-09 17:34:18
49阅读
视频播放流程视频播放主要经历这么几个步骤:解协议 -> 解封装 -> 解码音视频 -> 音视频同步,流程如下图:其中播放网络视频才需要解协议,直接播放本地视频是不需要这一步的解协议:将流媒体协议的数据解析为相应标准的封装格式数据。音视频在网络上进行传播的时候,通常会采用各种流媒体协议,如HTTP,RTMP等,这些协议在传输音视频数据的同时会增加一些信
转载 2024-01-06 22:06:42
34阅读
OpenGL ES shading language 3.0 也被称作 GLSL,是个 C风格的编程语言。 Opengl ES 3.0内部有两种可编程处理单元,即Vertex processor和Fragment processor,分别用来处理Vertex shader executable和Fragment shader executable。注意,Opengl ES 3.0不支持G
本文记录OpenGL播放视频的技术。OpenGL是一个和Direct3D同一层面的技术。相比于Direct3D,OpenGL具有跨平台的优势。尽管在游戏领域,DirectX的影响力已渐渐超越OpenGL并被大多数PC游戏开发商所采用,但在专业高端绘图领域,OpenGL因为色彩准确,仍然是不能被取代的主角。 OpenGL简介 从网上搜集了一些有关OpenGL简介方面的知识,在这里列出来。
OpenGL 直接渲染显示 YUV 数据 ~~~
转载 2022-10-13 15:50:28
1296阅读
通常在Android上使用OpenGL ES,都是希望把渲染后的结果显示在屏幕上,例如图片处理、模型显示等。这种情况下,只需要使用Android API中提供的GLSurfaceView类和Renderer类,在这两个类提供的初始化、回调函数中设置/编写相应的代码即可。不过,如果不希望把渲染结果显示在屏幕上,也就是所说的离屏渲染(offscreen render),这两个类就帮不上忙了。在此介绍一
转载 2023-09-11 21:50:39
235阅读
在《安卓使用SurfaceView绘制ffmpeg解码的视频数据》虽然我们成
原创 2022-04-02 10:01:51
2064阅读
Android OpenGL 教程第一课快速的开始一个Android OpenGL项目首先,读懂我们的教程,需要有android的初步基础,我们这里只是通过android提供的SDK,来进行OpenGL的学习,所以你必须先学习如何建立一个android的项目,同时了解activity的生命周期和android下的屏幕或键盘响应机制。好的,开始建立一个android的项目Lesson1,Activi
转载 2023-07-11 23:45:37
374阅读
 《Android C++ OpenGL 教程》       对于Opengl/sl/cv/...系列相信大家也不陌生,我在前面博客也介绍了OpenSL ES的一些知识和使用方法,让我们对OpenSL ES有了一定的了解。从今天开始我将给大家带来一系列的AndroidOpenGL ES的使用方法(主要是基于2D平面图形的)。一
创建program//创建着色器对象 //顶点着色器(GL_VERTEX_SHADER)/片段着色器(GL_FRAGMENT_SHADER) int shader = glCreateShader(type); if (shader == 0) return 0;//创建失败 //加载着色器源 glShaderSour
转载 2024-08-22 19:29:11
23阅读
在andorid中我们需要通过GLSurfaceView来将openGL视图显示在Activity中。而GLSurfaceView需要一个实现了Renderer接口的类来渲染视图。接下来我们就来构建一个自己的Renderer类:首先,新建一个实现了Renderer接口的类取名MyRenderer,并重写如下方法//绘制当前屏幕的代码写在此方法中 public void onDrawFrame(
转载 2023-09-11 21:37:06
11阅读
目录前言:OpenGL是什么:如何使用:1.设置OpenGL版本2.创建GLSurfaceView实例3.实现Renderer接口4.绘制三角形定义图形绘制图形5.投影和相机视图6.增加动画7.项目地址:总结: 前言:前段时间,闲来无事,打算研究一下自定义camera开发,发现用到了OpenGL,所以打算自学一下,顺便写几篇文章记录一下。OpenGL是什么:学习OpenGl先了解一下,它是一个什
写几篇文章记录一下我学习OpenGL的过程,这是第一篇。本片文章通过实现一个清屏操作,先了解一些基本知识。1.创建一个activity,作为展示页面:/** * 视图展示页面,只实现了清屏的操作<br/> * 1.创建GLSurfaceView<br/> * 2.调用GLSurfaceView的setRenderer方法,设置Renderer<br/>
转载 2024-06-09 08:51:24
27阅读
最近在学习openGL,就找了几个相关的开源项目,一边理解,一边记录~ 这篇文章要介绍的项目来自久负盛名的yalantis 阅读此文需要一点OpenGL基础,比如纹理坐标。项目giuhub地址首先简要翻译一下官方原理介绍: <星战: 原力觉醒> 如何在安卓中粉碎视图 首先,我们面临两个挑战:View粉碎和斗转星移的背景。我有好几个有趣的方案来实现它们。如何粉碎View 当原力击中V
转载 2024-07-29 08:51:34
26阅读
android系统中有GlSurfaceView类来提供OpenGL ES开发。 下面说一下这个类的作用: (1)在GlSurfaceView类中建立了OpenGL ES 和 View系统之间的联系; (2)提供了可以使OpenGL ES 工作在 Activity的生命周期中的功能; (3)更容易的选择合适的像素格式的帧缓存; (4)创建和管理
转载 2023-06-14 17:29:53
147阅读
相机处理是OpenGL一个重要的应用场景,因为OpenGL的主要工作是处理图像,而相机每秒生成几十帧图像,用GPU来处理再合适不过了。至于Android CameraX和OpenGL的结合使用,网上有不少教程了,然而它们都有一个特点,就是给两者增加了不必要的耦合。由于两者本身架构都设计得非常好,实际上它们只需要一点耦合:就是OpenGL给Camera提供一个Surface。如果分别实现了Camer
转载 2023-10-08 06:50:12
158阅读
Android上用OpenGLES来显示YUV图像,之所以这样做,是因为:1.Android本身也不能直接显示YUV图像,YUV转成RGB还是必要的;2.YUV手动转RGB会占用大量的CPU资源,如果以这样的形式播放视频,手机会很热,所以我们尽量让GPU来做这件事;3.OpenGLES是Android集成到自身框架里的第三方库,它有很多的可取之处。 博主的C/C++不是很好,所以整个过
转载 2024-01-03 06:44:33
51阅读
 目录1、上层的创建2、jni层的配置创建头文件ggl.hjni函数接口 assetsManager jni层读取文件utils 创建纹理,程序,连接程序工具类scene.h 里实现真正的绘制,glm库的导入cmake中配置环境app gradle 配置着色器demo下载opengl学习了好久了,之前一直再java层开发,但随着对性能的要求,一些特效和编解码都需要再底层来实现,
转载 2023-08-17 12:41:04
427阅读
OpenGL(全写Open Graphics Library)是一个跨语言、跨平台的三维图象编程接口,同样他也可以用来创建二维图像。OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。android 平台上同样集成了opengl es的开发包
  • 1
  • 2
  • 3
  • 4
  • 5