Android OpenGL 动态加载例程序

Android原理揭秘系列之动态墙纸 Livewallpaper,即动态墙纸,是Android的一大3D特色功能,用户可以在桌面选择加载动态墙纸,让自己的手机桌面背景旋动起来。 相对于静态桌面壁纸,动态墙纸可以展示各种动态变化的背景,而与传统手机系统采用GIF作为动态背景不同的是,Android的动态墙纸并不是GI 阅读详情

   首先申明,本文是原创, 最近两年一直作Android 的开发工作, 所以也写点东西希望对大家有所帮助。

本篇主要涉及的技术内容:

0,OpenGL

1, GLSurfaceView

2, 动态创建控件

3,动态加载新控件到界面,及动态修改界面

来几个界面更容易理解:

0,点击Add 新创建一个OpenGL and GLSurfaceView 并加载到界面,每次点击都是新创建控件并加载。

1,点击Remove 从界面删除最后一次创建的对象。

是在界面上动态加OpenGL GLSurfaceView .

 

源代码不知道怎么传上来。。。

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

相关推荐

Android上使用OpenGL画3D菱形

android是用OpenGL来实现3d的。OpenGL的处理机制是把所有的数据都用代码传递给opengl service,如果用户(这里是应用程序)想要画什么东西,就用告诉opengl 什么东西是可用的,然后在开始画。 这个例子一共分三步:1."画"一个3d的图形(这里画的是菱形),把它传递给opengl service 端,然后建立一个画自己的方法。2.创建这个图形运行的环境。3.把这个环

zhangqijie001的专栏 5676

OpenGl学习(一)

1、创建activity import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import test.audio.com.opengldemo.render.Circle; public class MainA...

weixin_34217711的博客 217

Android OpenGL ES 2.0 与3.0兼容方案

1. 检查系统是否支持GLES3.0 检查系统支持的OpenGL版本的方法有一下几种方法: 查看EGL版本, 1.4以上 EGL 查询Client版本号 GL_VERSION GL_SHADING_LANGUAGE_VERSION 1.1 EGL版本检查 此方法适用于创建EGLContext阶段。 要支持GLES3.0 要求EGL版本在1.4以上。 EGL初始化的时候会返回EG...

矩阵实验室 9015

Android openGl开发详解(二)——通过SurfaceView,TextureView,GlSurfaceView显示相机预览(附Demo)

最近公司在做自定义相机这一块,之前使用的是第三方,后来需求变更,第三方不支持添加动态贴纸,所以只能自己扩展。当然网上有很多例子,但是关于添加动态贴纸的例子几乎找不到,反正我是没找到(欲哭无泪)。当然,现在是所有功能都实现了。觉得openGl还是蛮有意思的,所以从头再梳理一遍,打算整理一个openGl的学习系列。供学习参考。如果对OpenGl没有了解的话,推荐先看Android openGl开...

aserbao的博客 1万+

基于opengl的高动态渲染教程(hdr)

基于opengl的hdr渲染教程,详细描述了如何实现光晕效果,并附有代码。

Android点击屏幕坐标对应OpenGL ES坐标

点击Android屏幕坐标,在相应的点击位置生成一个用OpenGL ES绘制的三角形,

Android OpenGL ES2.0基础(三、Shader相关介绍)

原文链接:http://www.tuicool.com/articles/VZVJra        与OpenGL ES1.x渲染管线相比,OpenGL ES 2.0渲染管线中“顶点着色器”取代了OpenGL ES 1.x渲染管线中的“变换和光照”;“片元着色器”取代了OpenGL ES 1.x渲染管线中的“纹理环境和颜色求和”、“雾”以及“Alpha测试”。 这使得开发人员在使用Op

xyTianZhao 1470

opengl加载并渲染obj模型文件(含纹理)

1. 环境win7 + qt5.3.1 WinGW 32bit 2. 使用glm 3. 使用孙启功的方法 4. 网上下载的obj模型文件 5. 我仅仅是用别人的方法和文件进行了简单的实践 6. 因为工作需要,搜索一番不容易找到有用的东西,所以在此留个备份

android OpenGL ES开发之shader

shader是OpenGL ES中重要内容。shader程序是运行在GPU上的程序,是用GLSL语言编写的程序。 顶点着色器 顶点可以理解为组成物体的每一个点。 对于发送给GPU的每一个Vertex(顶点),都要执行一次Vertex Shader。 输入数据有: Attributes:使用顶点数组封装每个顶点的数据,一般用于每个顶点都各不相同的变量,如顶点位置、颜色等。

lxy的学习笔记 5140

C#读取CAD文件(dwg/dxf)并处理

项目要求识别CAD图纸(图纸内容与现实事物比例是1:1)中的内容,并提取出一些关键信息。这里的CAD图纸是指CAD文件,包含多种格式,dwg/dxf/dwf/stl/pdf等等。识别其中内容,主要指文件中的图元信息(也叫实体Entity),指线段、圆弧、矩形等图形元素。得到图元基础信息(比如长度、坐标、粗细)后,进一步做处理(如得到交点、得到线段间间隔、圆弧与线段切点等)。听起来有点难,因为作为软件工程师,对CAD相关事物并不了解,它是未知的;

三千幻想乡 1万+

解析vCard 3.0:提取电子名片中的姓名

N:LastName;FirstName;;;END:VCARD和END:VCARD标记数据块的开始和结束。N字段存储结构化姓名(分号分隔)。FN字段为直接可读的显示名称。其他字段如TELEMAIL等保存联系信息。

qq_45797625的博客 2781

Android使用Opengl录像时添加(动态)水印

最近需要开发一个类似行车记录仪的app,其中需要给录制的视频添加动态水印。我使用的是OpenGL开发的,刚开始实现的是静态水印,后面才实现的动态水印。 1、静态水印 实现原理:录像时是通过OpenGL把图像渲染到GLSurfaceView上的,通俗的讲,就是把图片画到一块画布,然后展示出来。添加图片水印,就是把水印图片跟录制的图像一起画到画布上。 这是加载纹理跟阴影的Java类 package c...

feng海涛 1万+

SAP BASIS运维之三方SSL证书导入

事情的起因是我司SAP使用的SSL证书即将要到期了(上一个的SAP BASIS也辞职了),需要进行证书的更换。如上图所示,我司的证书有效期到2024年4月30日到期,需要提前预防并更换,防止过期后导致接口和访问出现问题。9.在弹出的框中,选择我们在第5个步骤中导出的转换结果存储地址,并选择导出的转换文件,点打开。12.最后一步也是关键的一步,不然就会无法更新证书,再点击左上角的个人安全环境,点另存为。10.在打开后的弹窗中,输入我们在第4个步骤中设置的密码。6.经过以上步骤后,我们获得了最终的证书文件。

fegda的专栏 1885

Android OpenGL库加载过程源码分析

Android系统采用OpenGL绘制3D图形,使用skia来绘制二维图形;OpenGL源码位于: frameworks/native/opengl frameworks/base/opengl 本文简单介绍OpenGL库的加载过程。OpenGL以动态库的方式提供,因此在使用OpenGL的接口函数绘图前,需要加载OpenGL库,并得到接口函数指针。函数EGLB

luozirong的专栏 2305

CIMPro孪大师,支持 3DGS 高斯泼溅的一站式零代码数字孪生平台

高斯泼溅导入数字孪生开发引擎

2501_90821319的博客 1110

【STM32】R05D电控红外协议的美的空调遥控器

目录一、设计思路一、R05D红外协议原理1.协议手册理解2.验证时序(重点)二、硬件实现1.需要的材料2.对发射模块电路进行修改3.STM32 GPIO选择三、代码实现1.载波38kHZ实现2.R05D时序实现3.调用函数并验证 一、设计思路 通常红外遥控采用NEC传输协议,而美的空调采用的是R05D红外协议(应该是自己设计的协议),因此用一般红外编码发射模块无法直接对空调进行控制。 解决方法:获取R05D协议手册 + 用红外接收管对原有遥控器红外接收进行波形分析。 一、R05D红外协议原理 R05D电控功

weixin_42204837的博客 1万+

Android OpenGL动态壁纸问题总结

打开动态壁纸时一直显示动态壁纸正在加载 报错信息: 无!(这是最难受的 /(ㄒoㄒ)/~~ )。 问题原因: 粗心导致!把本应返回的MyEngine类写成了Engine。 问题代码块: public class MyGLWallpaperService extends WallpaperService { @Override public Engine onCreateEngine() { return new Engine();//<-------------.

saoqi_boy的博客 825

基于任务的功能磁共振成像的连接性分析

虽然这种方法通过减少偶然只选择特异性代表的可能性来改善可推广性,但类别内和类别间的变异性变得更难控制(例如,"鸟类"可能是一个比"车辆"更加/不那么同质的类别),并且可能会出现关于这些预定义类别是否是现实世界实体的有意义划分的担忧——尽管这个限制在某种程度上可以通过表征相似性分析来解决。特别是,海马单变量激活和语义认知区域(左下额回)中语义信息的表征强度之间的交互预测了项目的概念记忆,而海马单变量激活和视觉处理区域(腹内侧枕叶皮层)中视觉属性的表征强度之间的交互预测了图像样本的知觉记忆。

cc1609130201的博客 2231

Android OpenGL ES 渲染文本

介绍如何用OpenGLES 渲染文字。

newchenxf的专栏 6958

端到端自动驾驶的精准测试场景开发

1. 背景介绍 自动驾驶技术的发展正在改变交通运输的未来,然而,要实现安全可靠的自动驾驶,需要进行大量的测试和验证。端到端自动驾驶系统的测试场景开发是实现这一目标的关键。本文将详细介绍端到端自动驾驶的精准测试场景开发,包括核心概念、算法原理、数学模型、项目实践,以及未来发展趋势。 2. 核心概念与联系

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1319

运维颠覆!一文解锁AI赋能运维实战秘籍,效率飙升!

将AI应用于运维工作是一场极具价值的变革,从故障预测与诊断到自动化任务执行,再到资源管理优化,AI都展现出巨大潜力。尽管在实践过程中会面临数据质量、模型复杂性等挑战,但通过合理的技术选型和解决方案,我们能够充分挖掘AI的优势,实现运维工作的高效、智能转型。持续探索和创新AI在运维领域的应用,将为企业的数字化发展提供坚实保障。在科技飞速发展的当下,运维领域正经历着深刻变革,AI的融入成为提升运维效率与质量的关键。本文将深入实战,带你领略AI如何在运维各环节大显身手,让你的运维工作开启智能高效新模式。

探索云原生与智能化驱动下的安全运维新范式。关注DevSecOps、可观测性、AIOps等前沿领域,与您共赴技术前沿。 401

OpenGL之——assimp加载模型

主要代码: main.cpp // Std. Includes #include &lt;iostream&gt; #include &lt;string&gt; // GLEW #define GLEW_STATIC #include &lt;GL/glew.h&gt; // GLFW #include &lt;GLFW/glfw3.h&gt; // GL includes #incl...

衣带渐宽人憔悴 1820

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【Android】Android SurfaceFlinger之OpenGL库加载过程

Android中OpenGL库加载从egl_init_drivers函数开始,源码位置在frameworks/native/opengl/libs/EGL/egl.cpp。 1 初始化过程中使用了mutex进行同步保护,下面分析egl_init_drivers_locked。 1 从上面的egl_init_drivers_locked实现中可以看出OpenGL库最终是通过loader对象完成的,首先看一下sEarlyInitState是何方神圣。 1 sEarlyInit

weixin_72426331的博客 526

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Android OpenGL天空盒

接下来的任务是为我们的场景添加一个背景,这将大大提升视觉效果。许多游戏和动态壁纸都采用了二维艺术与三维技术的结合来创造背景。在本教程中,我们将学习如何使用天空盒技术将喷泉置于一个天空的背景下。天空盒是一种能够提供360度全景的技术,它最早在20世纪90年代末的游戏中出现,并且至今仍被广泛使用。不仅仅是在游戏中,比如全景地图,也利用了这项技术来展示全方位的景象。

ZLGSPACE的博客 1726

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android-NDK-Opengl

运行界面 代码架构 CMakeLists.txt set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")//编译后显示所有的警告 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -Wall")//支持c++11, -fno-rtti关闭运行时类型判断 -fno-exceptions:关闭异常机制,减少资源的占用 if (${ANDROID_PLATFORM

CodeMyDream的专栏 390
下一篇: Android Button 中绚丽渐变效果的设置 如此简单。。。
certificate
博客等级 码龄24年 8粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值