- 博客(39)
- 资源 (3)
- 收藏
- 关注
原创 Opengl 坐标系统概述
1.谈到opengl 坐标系统 首先要知道三个坐标转换矩阵,模型矩阵,观察矩阵,投影矩阵。// 注意,我们将矩阵向我们要进行移动场景的反方向移动。如果物体在原点,要将摄像机在Z轴上往负值方向移动,使得物体在观察锥体里面。模型矩阵作用在将以物体中心为原点的坐标系统,转换到世界坐标。观察矩阵作用在将世界坐标系统转换到观察坐标系统。投影矩阵作用在将观察坐标系统转换到裁剪坐标系统。首先模型矩阵通常包含,位移,旋转,缩放等。最后通过窗口转换,显示到屏幕坐标。
2024-04-17 18:54:04
179
原创 shader 开发实战
光栅化就是计算网格可能占据的屏幕上的像素,为这些潜在像素中的每个像素创建一个片元,可以认为一个片元相当于一个像素,但不是所有的片元最终都会变成屏幕上的像素,因为重复的片元只显示最前面的,后面被挡住的像素,会在片段处理的时候给丢弃。编写GPU代码,怎么方便的调试和查看效果,很多开源软件都可以,这里推荐一个迷你框架,足够小,足以满足测试需求,是开源的叫openFrameworks,网址是:http://openframeworks.cc/download。顶点着色器就是确定网格数据中的顶点在屏幕上的显示位置。
2022-11-23 21:41:57
1010
原创 数据结构学习之-ListNode
给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)。经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。数据范围: 0\leq n\leq10000≤n≤1000。如当输入链表{1,2,3}时,...
2022-08-13 14:30:00
555
原创 Android Studio NDK编译protobuf库
1.在Android studio 里面有plugin 可以直接配置使用protobuf,但是如果想要在jni里面的c++上使用,就需要自己编译了。2. 编译环境:Win10,Android studio 4.0.1 a.先去下载protobuf 源码:https://github.com/protocolbuffers/protobuf b.将解压后的src下面的Google文件夹直接复制到jni下面去。 c.在Android.mk里面添加如下代码:in...
2020-12-17 10:34:42
1673
原创 FFmpeg-4.0+OpenH264 录制MP4文件几个注意点
在FFmpeg里面只支持H264 decode,但是不支持h264 encode,所以只能借助openh264或者x264等第三方库.1.写头文件 m_formatCtx = avformat_alloc_context(); //这里根据要保存的文件名获取音视频编解码格式 m_formatCtx->oformat = av_guess_format(NULL, out_name, NULL); //需...
2020-07-16 11:53:41
642
原创 centOS 7安装VScode之后启动不了
在sudo ./code 启动的时候报错:FATAL:atom_main_delegate.cc(223)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.解决办法:在启动图标那里点击右键查看Properties,找到command在最后加入--no-sandbox...
2020-04-16 14:03:49
4615
2
原创 android 自签名证书cer
import android.content.Context;import java.io.IOException;import java.io.InputStream;import java.security.KeyManagementException;import java.security.KeyStore;import java.security.KeyStoreExcep...
2020-04-02 14:54:48
812
原创 友盟自动集成报错-Could not download common (com.umeng.umsdk:common:2.0.0)
当使用自动集成(非手动集成)友盟的时候在build.gradle里面:implementation 'com.umeng.umsdk:analytics:8.0.0'implementation 'com.umeng.umsdk:common:2.0.0'但是今天一直报错Could not download common (com.umeng.umsdk:common:2.0.0)...
2019-06-11 17:21:19
13071
7
原创 Mac Android Studio -adb not found
之前一直调试都没有问题,突然有天Android studiio无法检测到手机,终端运行adb 提示-bash: adb: command not found请打开terminal1.输入 :cd ~/2.输入:touch .bash_profile3.这一步有些网上说输入open .bash_profile,但是在我这边打不开,/Users/ljk/.bash_profi...
2019-06-05 15:29:07
779
原创 FFmpeg-录制MP4文件
初始化mp4文件信息,设置帧率:AVFormatContext *oc;AVFormatContext *oc;int ffp_record_mp4_file_init(FFPlayer *ffp,const char* filename){ int i,ret; VideoState *is = ffp->is; AVFormatContex...
2019-03-15 01:02:27
3710
原创 android-viewpager setCurrentItem和滑动切换fragment的区别
在不缓存的viewpager里面有两个fragment1,fragment2;当滑动切换的时候, fragment1滑动到fragment2生命周期是:fragment1.onstop()->fragment2.onResume(); 但是当使用setCurrentItem(1)的时候,生命周期是:fragment2.onResume()->fragment1.o...
2018-09-28 11:43:27
1831
原创 Android-Opengl 实现图片滤镜功能
在GPUIMage里面已经实现了2D图片滤镜功能,由于项目的是全景图片,所以只好将GPUImage里面的滤镜功能的shader文件拿来自己用。 在此记录一下每次切换滤镜的时候纹理加载的流程 GLES20.glUseProgram(mProgram); GLES20.glDetachShader(mProgram, oldFshId);//detach old shader i...
2018-09-16 14:08:31
916
原创 Android 8.0启动app崩溃
当我们为了解决启动页黑屏或者白屏而在主题里面添加了<item name="android:windowIsTranslucent">true</item>这段代码的时候,由于我们App的启动页一般都是全屏显示,在8.0系统里面会出现java.lang.IllegalStateException: Only fullscreen opaque activities ...
2018-09-13 17:14:12
1639
原创 Android-常用框架
1.Toast -com.github.Blincheng:EToast2:v2.1.12. 二维码扫描cn.bingoogolapple:bga-qrcodecore3.内存泄露com.squareup.leakcanary:leakcanary-android:1.5.44.崩溃日志收集com.tencent.bugly:crashreport:lates...
2018-09-13 17:08:46
209
原创 Android studio-3.x升级问题,无法引用library里面引用的第三方库
当主项目build里面引用了:implementation project(':common')然后希望把所有第三方库的引用放在公共组件common的build里面implementation 'com.squareup.picasso:picasso:2.71828'这个时候主项目无法引用Picasso这个类,需要将common的build里面的第三方库的引用改成api 'com.square...
2018-07-11 15:36:42
2353
原创 Git-无法读取远程仓库权限
打开终端:cd ~/.ssh/继续输入:cat ~/.ssh/id_rsa.pub会得到SSH;然后将得到的ssh,deploy到git settings里面;
2018-04-17 16:38:18
16053
原创 Android-使用FragmentStatePagerAdapter造成FragmentManager is already executing transactions崩溃
这是因为在Fragment中使用了FragmentStatePagerAdapter来嵌套使用了三个Fragment,导致adapter在调用notifyDataSetChanged方法的时候崩溃; 解决办法: 把原来的getSupportFragmentManager();改成getChildFragmentmanager(); ...
2018-04-16 14:08:13
4883
2
原创 友盟微信登录失败Unable to find explicit activity class
在使用友盟第三方登录的时候,如果安装的是旧版本微信则会报错:E/MicroMsg.SDK.MMessageAct: send fail, ex = Unable to find explicit activity class {com.tencent.mm/com.tencent.mm.plugin.base.stub.WXEntryActivity}; have you declared thi...
2018-04-13 11:45:16
1671
原创 android - FFmpeg 视频播放器
本文是在Jonesx 博客基础上修改的,使得播放器播放视频速度正常。主要代码:#include "jonesx_videoplayer_VideoPlayer.h"#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswscale/swscale.h"#include <androi...
2018-04-08 10:19:02
1688
原创 Android-Fragment 切换造成内存溢出,导致内存增长
当在Activity里面有多个fragment的时候,来回切换fragment,会造成内存使用一直在增加。 由于fragment在调用remove之后,里面的view的引用导致内存回收不了,造成内存泄露,所以不断的new Fragment切换之后,内存使用一直在增加。 解决办法: 在BaseFragment类里面的onDestroyView()方法里面调用...
2018-04-04 17:44:35
6613
3
原创 Android-常用方法
1.判断是否输入内容为邮件格式的正则表达式public static boolean isEmail(String email) {String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9
2017-05-16 16:41:49
314
原创 Android-Network工具类
/** * This class is used to handle device's network. * * @author lijk */public class NetworkUtils {private static final int WIFI = ConnectivityManager.TYPE_WIFI;private static final int
2017-05-16 16:35:27
1484
原创 Android-封装Toast
public class CustomToast {/*** Method to display toast message.* * @param activity* the activity context* @param stringResId* the string resource id*/public sta
2017-05-16 16:32:26
261
转载 Android-输入邮件自动补齐后缀
public class EmailAutoCompleteTextView extends AutoCompleteTextView {private static final String TAG = "EmailAutoCompleteTextView";private String[] emailSufixs = new String[] { "@gmail.com
2017-05-16 16:29:33
1825
原创 日期工具类-DateTimeUtils
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Locale;import java.util.TimeZone;import com.cpplus.ca
2017-05-16 16:24:21
2402
转载 Android视频直播的实现
原文地址:http://blog.csdn.net/huaxun66/article/details/53427771最近一段时间,视频直播可谓大火。在视频直播领域,有不同的商家提供各种的商业解决方案,包括软硬件设备,摄像机,编码器,流媒体服务器等。本文要讲解的是如何使用一系列免费工具,打造一套视频直播方案。视频直播流程视频直播的流程可以分为如下几步: 采集 —>处
2017-05-16 15:22:47
755
转载 AnyRTC全新开源项目助力直播
原文地址:http://blog.csdn.net/liutao6982/article/details/52606059本次开源的客户端基于RTMP协议的推流拉流客户端,由我司CTO亲自操刀设计,采用跨平台架构一套代码支持Android、iOS、Windows等平台。直播涉及的流程:『音视频采集->编码->传输->解码->音视频渲染』本项目统统包含,这不是软文,这是实实在在的商业
2017-05-16 15:21:09
733
转载 一起学Google Daydream VR开发,快速入门开发基础教程二:Android端开发环境配置二
开始部署上篇介绍了开发Daydream Android VR需要的基本环境,这篇我们来看看如何部署和运用官方示例。——————————————————————————————————————–Daydream快速入门开发基础教程一:Android端开发环境配置一http://blog.csdn.net/jaikydota163/article/details/52647876————————————
2017-02-17 17:50:36
548
原创 Android-OpenGL ES For Android lesson
英文地址:http://www.learnopengles.com/android-lesson-one-getting-started/中文学习地址:http://blog.csdn.net/niu_gao/article/details/8533126
2017-02-17 17:01:15
510
原创 Android-BitmapFactory.decodeResource OOM问题
BitmapFactory.decodeResource 在加载大图片会出现OOM。改成BitmapFactory.decodeStreamBitmapFactory.Options opt = new BitmapFactory.Options();opt.inPreferredConfig = Bitmap.Config.ARGB_8888;opt.inPurgeable =
2017-02-17 11:02:43
3114
原创 Android-UI 特效
开源网站:http://itlanbao.com/加载框效果:https://github.com/saiwu-bigkoo/Android-SVProgressHUD水滴下载效果:https://github.com/recruit-lifestyle/WaveSwipeRefreshLayout圆形旋转菜单:https://github.com/hongyangAn
2016-12-22 11:11:44
439
原创 Android-Webrtc APM For Android
Android APM带JNI源码的例子https://github.com/dengzikun/WebRTC-APM-for-AndroidAndroid APM接口使用例子https://github.com/dengzikun/WebRTC-APM-for-Android-Demo
2016-12-19 09:31:22
1930
原创 Android-Webrtc AECM for android
https://github.com/BillHoo/webrtc-based-android-aecm 这是bill在github上面分享的aecm for android的Demo,带jni源码,三年前的比较老。有兴趣的可以下载参考下。
2016-12-16 10:57:37
2760
原创 Android-验证手机上面是否存在其它应用接收Intent
尽管 Android 平台保证某些 Intent 可以分解为内置应用之一(比如,“电话”、“电子邮件”或“日历”应用),您应在调用 Intent 之前始终包含确认步骤。注意:如果您调用了 Intent,但设备上没有可用于处理 Intent 的应用,您的应用将崩溃。要确认是否存在可响应 Intent 的可用 Activity,请调用 queryIntentActivities() 来
2016-12-14 16:44:14
533
原创 Android-Google提供的Activity生命周期图
Activity 生命周期金字塔图解:注:Activity的OnPause()方法中不要执行CPU密集型工作,比如操作数据库,应该放入OnStop()里面执行。
2016-12-14 16:30:43
461
原创 Android-销毁activity
当 Activity 的第一个生命周期回调是 onCreate() 时,它最近的回调是 onDestroy()。系统会对您的 Activity 调用此方法,作为您的 Activity 实例完全从系统内存移除的最终信号。大多数应用不需要实现此方法,因为局部类引用与 Activity 一同销毁,并且您的 Activity 应在 onPause() 和 onStop() 期间执行大多数清理操
2016-12-14 14:57:00
1043
原创 android-Fragment横竖屏翻转对重新加载的要求
有时候,我们在同一个activity里面有很多fragment,在横竖屏的时候,有些fragment要求重新加载数据,有些不需要,如何简单控制这些需求,本人分享一点小经验,欢迎大家指正里面的错误。大家都知道横竖屏翻转的时候,activity会重启,fragment也会重新加载,如果现在要求在横竖屏翻转的时候,同一个activity中,一个fragment要重新加载,一个不要重新加载,那该怎么办
2016-12-09 11:07:07
6250
原创 Android-获取手机信息
public class DeviceInfo { /** * MAC address of the device which will be used while communicating with the * server */ private static String _localId = null; /** * Method to get the local
2016-12-09 10:54:34
299
Webrtc aecm for android Demo by bill
2016-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人