04 2021 档案
摘要:概述 纹理包装模式用于指定纹理坐标超出[0.0, 1.1]范围时所发生的行为,用glTexParameter[i|f] [v]设置,这些模式可以为s、t、r坐标单独设置。GL_TEXTURE_WRAP_S和GL_TEXTURE_WRAP_T和GL_TEXTURE_WRAP_R分别定义s和t和r坐标超
阅读全文
摘要:概述 坐标属性插值 对于三角形中的点的属性,可以使用插值的方式,来获取平滑过渡的值。比如点的纹理坐标,点的颜色,点的法向量等等。 如上图所示,光栅化之后,我们可以获取到三角形内的点的坐标(x,y)。然后给三角形中的顶点VA指定红色,VB指定绿色,VC指定蓝色,然后通过插值的方式,三角形内就可以得到这
阅读全文
摘要:概览 Virtual AB系统 (1)无缝升级:virtual AB和AB系统一样,支持无缝升级 (2)回滚:Virtual AB支持系统回滚。当系统升级失败的时候,设备会自动回滚到旧的系统版本。 (3)省空间:在Virtual AB中,super分区采用dm-snapshot技术来进行升级,不需要
阅读全文
摘要:源码位置:android/hardware/aw/usb rc文件位置: android/system/core/rootdir/init.usb.configfs.rc android/system/core/rootdir/init.usb.rc android/device/softwinne
阅读全文
摘要:背景 由于AB升级的回滚机制只支持到early_boot阶段,如果OTA升级的过程中,data分区被修改了,并且OTA升级失败了,则data分区是无法回滚到之前的状态的。UDC功能是为了解决OTA升级失败后,当data分区被修改后,不支持回滚data分区的问题。UDC同时支持绑定key版本以及防
阅读全文
摘要:锁屏界面 1. 显示用户切换 1. updateVisibilities // android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
阅读全文
摘要:windows环境 1. 下载源码 1. 打开https://mirror.tuna.tsinghua.edu.cn/ 2. 搜索kernel,点进去下载2.6.24版本和5.4版本的内核 2. 导入源码 1. 解压压缩包 2. vscode打开文件夹 3. ctags解析 1. vscode安装c
阅读全文
摘要:5.简单的2D纹理绘制 概述 2D纹理是一个图像数据的二维数组,一个纹理的单独数据元素称作纹理像素(texture pixels)。 总体流程 纹理的使用流程 1. 准备工作 // 设置数据传输模式 // void glPixelStorei (GLenum pname, GLint param);
阅读全文
摘要:编译LAME 在windows中ndk-build来进行编译 1. 将libmp3lame和include中的文件拷贝到jni目录下 2. 将所有的.c文件,添加到Android.mk中的LOCAL_SRC_FILES中 注意要保存好头文件 + lib文件 LOCAL_PATH := $(call
阅读全文
摘要:LAME-encoder 源码解析 #include "mp3_encoder.h" #include <stdio.h> #include <android/log.h> #include <errno.h> #include <string.h> #define LOGI(...) __andr
阅读全文
摘要:使用ffmpeg实现MP3toPCM 流程解析 1. 注册协议、格式与编码器 // 打开pcm文件 FILE * pcmFile = fopen(pcmPath, "wb+"); // 注册解码器 avcodec_register_all(); av_register_all(); 2. 打开媒体源
阅读全文
摘要:AudioTrackTest-opensles OpenSL使用流程分析 OpenSL ES的API都是基于对象和接口的方式来提供的。 (1)先create Engine的ObjectItf,然后Realize Engine的ObjectItf,然后Engine的ObjectItf通过GetInte
阅读全文
摘要:AudioTrackTest-ffmpeg 源码分析 大致的流程 该app一共有三个线程,一个主线程,一个NativeMp3Player线程,一个accompany_decoder线程。播放音乐的时候: (1)NativeMp3Player线程从packet_pool中读audiopacket,然后
阅读全文
摘要:ndk使用流程 设置支持jni 1. 打开gradle.properties,添加: android.useDeprecatedNdk=true 2. 打开local.properties,添加: ndk.dir=C\:\\Users\\jetson\\AppData\\Local\\Android
阅读全文
摘要:Android studio读Android源码 linux环境配置 1. 配置 进到Android源码目录: source build/envsetup.sh lunch sdk_phone_x86 mmm development/tools/idegen/ sh ./development/to
阅读全文
摘要:4. 顶点着色器-mvp转换 概述 属性:用顶点数组提供的逐顶点数据(顶点位置、颜色、纹理) 统一变量和统一变量缓冲区:顶点着色器使用的不变数据(mvp变换矩阵) 采样器:代表顶点着色器使用的纹理的特殊统一变量类型 着色器程序:顶点着色器程序源代码或者描述在操作顶点的可执行文件 设置统一变量的流程
阅读全文
摘要:3. 实例化-画100个正方体 概述 数据的传递流程 (1)准备顶点属性缓冲区 positionVBO:用于存放正方体顶点位置的缓冲区,一个正方体需要24个顶点位置来描述,一个顶点位置三个数(x,y,z) colorVBO:用于存放正方体颜色的缓冲区,每个正方体一种颜色,这里一共有100个正方体,一
阅读全文
摘要:顶点属性 概述 指定顶点属性数据的方式: 常量顶点属性 顶点数组方式 顶点缓冲区对象方式(图形内存中分配) 顶点数组方式(简化顶点缓冲区对象的使用流程) 映射缓冲区对象(将顶点缓冲区对象映射到用户空间中,再加载数据,而不是使用glBufferData来加载数据) 1. 指定顶点属性数据的方式 1.
阅读全文
摘要:OpenGLES-triangle 总体流程 创建EGL 渲染表面 创建着色器和链接程序 输入顶点信息 开始渲染 开始绘制 效果图 源码解析 Android层操作 static void HandleCommand(struct android_app *pApp, int32_t cmd) { M
阅读全文
摘要:Android-Studio-NativeActivity创建流程 1. Android-Studio和Android.mk方案 - 配置解析 1. 新建Android-studio工程 选择Native C++就可以了 2. 修改AndroidManifest.xml文件 <?xml versio
阅读全文

浙公网安备 33010602011771号