自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(192)
  • 资源 (10)
  • 收藏
  • 关注

原创 Android Studio Gradle task栏找不到写好的task

我手上的工程,其中有一个模块有如下Gradle代码:但实际上Gradle任务栏却没有这个task:查阅资料后,发现要勾选这个选项才会完整生成tasks列表,默认并不会勾选:勾选后重新sync后,task出现了:

2025-04-14 17:21:23 282

原创 OpenGL代码欣赏——在fragShader中实现“3D纹理”,实现透视效果和光栅化

最近逛shadertoy看到有人把透视转换、光照、3D转2D光栅化转移到了fragShader实现,虽然感觉没啥实用性,过于麻烦,但觉得非常厉害又有趣,让我感觉看到了新鲜事物一样。拜读之后对他的代码有了一点个人理解,写一个笔记记录一下。

2025-03-11 19:00:10 424

原创 在Linux中开发OpenGL——检查开发环境对OpenGL ES的支持

     由于移动端GPU规模有限,厂商并没有实现完整的OpenGL特性,而是实现了它的子集——OpenGL ES。因此如果需要开发的程序要支持移动端平台,最好使用OpenGL ES开发。

2025-03-05 15:38:15 985

原创 在Linux中开发OpenGL——环境搭建

Linux OpenGL 开发环境搭建

2025-03-04 12:35:26 360

原创 在AI突飞猛进的今天,什么能力最重要?

  我认为未来更需要的是纯粹的专业思想和基础能力,而不是和特定工具绑定的技术熟练度。这些基础能力我认为有分析力、观察力、推理能力、想象力、创造力、表达能力、拆解问题的能力、构思规划能力、触类旁通的能力、知识纵深度等。而和特定工具捆绑的能力的重要性将越来越低。        在未来,基础能力强且富有专业知识的人会远远比只比熟练掌握某些工具的人更具竞争力。

2025-02-28 11:24:36 422

原创 Win10和11 git/Android Studio遇到filename too long问题的解决

Win10和11 git/Android Studio遇到filename too long问题的解决。

2025-01-07 17:49:07 582

原创 Win11“手机App”导致Android Studio Run过程卡住

卸载之后,问题解决了。

2024-12-16 15:21:44 142

原创 被一道小升初思维题卡了一下

有三个立方体,每一面有1~6的其中一个数,问总共能组合出多少种不重复的和?

2024-11-16 21:52:53 342

原创 使用队列LinkedBlockingQueue,以广度优先方式从本结点遍历整个ViewTree所有结点

使用队列LinkedBlockingQueue,以广度优先方式从本结点遍历整个ViewTree所有结点。

2024-09-12 14:32:47 143

原创 判断View惯性滚动是否结束

【代码】判断View惯性滚动是否结束。

2024-08-07 12:06:38 167

原创 使用Layout Inspector提示“Application not inspectable. Deploy an app or navigate to a debuggable app on”

安装Layout Inspector image,然后再重启试试。使用debug模式运行应用。

2024-08-03 12:08:38 1627

原创 Android使用ANativeWindow更新surfaceView内容最简Demo

安卓的普通VIew,都依赖于当前Activity的Window的surface,这个surface用于承载view树从底到顶绘制出来的所有内容,因此任何一个view需要更新时,都需要把所有view中底到顶进行更新,即使使用脏区域,也依然要把其他view中相应的像素进行合成操作,因此不适合频繁的更新绘制,而且更新过程只能依靠UI线程。而SurfaceView却有自己的Surface,因此可以单独更新其内容而不触发整个view树的更新,在子线程刷新不会阻塞主线程,适用于界面频繁更新、对帧率要求较高的情况,因

2024-07-15 21:10:04 1360

原创 Android OpenGL ES 离屏幕渲染2——获取渲染结果并显示到ImageView控件中,使用最简模型展示

本文将用一个不包含顶点shader和片元shader的最小模型讲述如何把通过EGL创建的OpenGL ES环境渲染后的结果进行提取,单纯输出一片铺满视口的红色的像素。

2024-07-07 15:09:03 1209

原创 Android OpenGL ES 离屏幕渲染1——EGL环境的创建,以及基础概念的理解

本文主要是介绍EGL的概念、作用,为后续的离屏渲染做铺垫。下一篇文章将开始介绍EGL环境创建后如何进行OpenGL ES API调用,并把结果进行提取。

2024-07-07 11:37:06 1551

原创 Android Studio Jellyfish版本修改project使用特定jdk版本的步骤

打开Settings。

2024-06-10 22:10:14 873 1

原创 在新版本AS上运行老项目遇到问题

【代码】在新版本AS上运行老项目遇到问题。

2024-06-10 12:09:51 284

原创 创造一款安卓自定义控件(4)——使用Matrix的setPolyToPoly方法实现图像纠正

送入矩阵,调用setPolyToPoly方法,第一个参数是起始形状,第三个参数是目标形状,最后是。2. 设不规则选择框的4个2维顶点(8个数值)为初始区域。4.用户选中图像畸形区域,最后得到纠正后的图像。所示,以顺时针方式分布于4角,触摸框初始坐标分布如下图。图片不规则裁剪后正畸示例。

2024-03-11 20:01:07 819

原创 GL绘制自定义线条4_使用OpenGL ES实现钢笔效果

通过原点两侧创建两个原始端点,长度根据压力值或速率进行调整,再根据两个触摸点构成的向量旋转它,再移动它到触摸点的位置,构成包络点,并使用插值逻辑平滑处理一下,使用GL_TRIANGLE_STIPS方式绘制,即可实现该效果。CSDN之前自动生成的摘要居然自带广告,简直离谱!

2024-02-29 21:56:57 821

原创 Android开发经验记录_对多个Path形成的图形进行填充踩坑与怕坑记录

网络上大部分文章都是描写单个Path如何进行颜色填充,没有描写多个Path组合起来如何正确填充颜色,我自己摸索了一个比较合理的形式。

2023-12-13 15:52:18 301

原创 华为P40无法链接adb的解决记录

情况:突然无法链接adb到P40,拔插无效,关闭开发人员选项再打开也无效,撤销USB调试授权也无效,重启adb server无效,重启android studio无效,使用其他设备链接正常。插入手机,右击adb interface右击卸载,然后刷新设备,此时手机会弹出是否允许这台电脑调试,点确定即可。真的很讨厌华为的设备,很多东西啥设备都能跑得好好的,就华为会出问题,简直就是手机界的IE。

2023-11-28 11:15:10 1863 1

原创 创造一款安卓自定义控件_裁剪原理介绍

裁剪框中裁剪部分的代码原理大概讲解。

2023-07-10 00:20:20 594

原创 GL绘制自定义线条3_自定义线帽

在安卓中使用OpenGL绘制如Path+Paint一样效果的书写线条,并附带笔帽效果实现

2023-05-15 11:57:35 737

原创 GL绘制自定义线条2_手写曲线应用贝塞尔曲线

假定我现在有3个顶点(P0、P1、P2),想以曲线的方式进行绘制其路径,那么可以从P0到P1、P1到P2两个线段,按照同样的百分比步进量,沿着这两个线段对应百分比的位置连接为一个新的线段(图中绿色部分),然后取这个线段同样百分比位置的坐标,将这些坐标连城线即可得到一端曲线。上一篇文章的曲线是由触摸点直接生成的,但触摸点并非连续的,而是离散的,而且屏幕触摸点采样的间隔时间其实不短,因此如果单纯只用触摸点生成OpenGL触摸曲线,在高速书写时会导致曲线看起来就像多个线段合起来一样(事实也是如此)。

2023-05-08 21:52:55 705

原创 GL绘制自定义样式线条

使用OpenGL绘制自定义曲线的原理推导和粗略实现

2023-05-06 11:13:09 356

原创 向量基础个人思维训练_纹理采样边缘做旧效果的推导

通过一些基本的向量计算规则的组合,实现纹理边缘的黑化效果。本文将讲述自己如何一步步推理出实现目标效果的自定片元shader规则。

2023-04-25 23:23:39 612

原创 光照的个人推导过程与GL实现

使用OpenGL ES实现光照的数学逻辑基础和具体实现

2023-04-22 14:55:10 690

原创 做gl demo谨慎打开面剔除功能,否则容易干扰测试,没有错的情况下什么都不显示

最近想做一个关于可以移动光源的光照模型,在以往的代码上随便复制组合一下打算搭建一个demo开始写相关代码,结果发现熟悉的三角形它没有显示出来……其实面剔除对于有效减少渲染时看不到的面消耗的算力很有帮助,但在程序还没做完之前打开可能会导致一些该显示的东西显示不出来。这样基本上就等同于输入的顶点在没有任何变换的情况下,赋予这个三角形面每个一种藏青色(每个顶点都是同样的片元颜色)。那剩下的可能就是gl API调用方面的问题了。而我绘制顶点的顺序刚好就是它不会显示的那种,所以自然显示不出来了。关闭之后一切正常了。

2023-04-16 21:46:16 359

原创 tan函数在线性方程中的美妙应用

tan函数对线性方程的旋转作用

2023-03-18 18:34:18 215

原创 一道有意思的谜题_20230316

谜题爱好锻炼

2023-03-16 22:04:31 442

原创 再说fragshader特效_膨胀效果的数学推导

PS中的液化功能中的膨胀效果在fragshader实现时的数学推导过程

2023-03-15 22:40:34 428

原创 JPEG图像压缩探索_zigzag扫描(原创)

在DCT图像变换完成后,需要把数据从高频到低频频域强度信号进行筛选等操作,为了方便算法进行操作,最好转化为一个一维的数据。本文介绍适合从左上到右下将数据转化为一维数据的方法以及个人实现。

2023-02-22 10:54:08 2039

原创 ZFS文件系统因断电损坏后的修复过程

我的Linux Mint系统使用了ZFS文件系统,但最近因为线缆松脱的原因导致rpool加载时提示I/O错误无法进入系统。然后,我通过使用命令zpool import -F 'rpool' 调用了自动修复,之后重启退出busy box,这次文件系统顺利加载,除了部分正在编辑的文件损毁外一切正常,避免了重装等的麻烦事。

2023-02-12 14:27:36 1419

原创 Android Studio因可用内存不足而sync失败

最近打开一个大工程,一直提示sync failed,但排查后发现不是因为gradle脚本等常见原因导致,最后发现是因为给as分配了4gb内存不足以运行这个工程的脚本导致。通过修改studio64.vmoptions配置文件,把xmx选项提高到16GB,重新打开该工程发现sync成功

2023-01-31 09:43:24 336

原创 透视投影的一些简短推导

投射投影规律的简单总结,通过眼球模型开展。

2022-12-11 22:26:15 583

原创 声音文件慢速播放不变调原理的猜想

声音文件慢速播放不变调原理的猜想,使用傅里叶变换后,频域信号乘以播放速度的倒数实现。

2022-12-11 17:16:50 497

原创 现象:相同ID的两个layout view,style配置互相覆盖

同一个id,但在不同的layout文件上,配置了不同的style,但只有一个style生效了。但原理暂时不理解,先做一下记录。

2022-11-15 15:55:13 748

原创 发现现象:安卓中使用File.getCanonicalPath和File.getAbsolutePath根路径出现差异

getCanonicalPath和getAbsolutePath取的路径经过实验发现有较大差异,此文打算写一下实验结果和猜测。

2022-11-15 14:40:58 715

原创 放空遐想1——假如世界是一个游戏

假设我们的世界是一款游戏,并对此作出遐想。

2022-11-07 22:08:28 579

原创 一道有挑战性的称重题

把119个球中较轻的球提取出来,需要多少步?

2022-10-01 23:09:01 506

原创 一种margin和padding结合使用的trick

标题栏的背景有阴影,如果侧边栏直接贴合,则阴影无法和侧边栏融为一体。于是我先使用负marginTop把侧边栏抬升到阴影可以覆盖的程度,再通过paddingTop把侧边栏的子view往下拖一些,即可实现阴影叠加在侧边栏上一点点的效果。

2022-09-25 17:31:52 173

测试代码和程序.7z

放大倍数动画显示控件,适用于相机等应用,每变化0.1x就会触发动画,倍数例子由x/屏幕宽度 * 8f控制

2020-04-11

旋转立方体+线程动画.7z

OpenGL由27个小立方体构成一个大立方体,可以旋转,使用书本OpenGL ES 3.x游戏开发 上卷》的5.2、5.3两章的内容魔改而成

2019-09-29

旋转立方体.7z

OpenGL由27个小立方体构成一个大立方体,可以旋转,使用书本OpenGL ES 3.x游戏开发 上卷》的5.2、5.3两章的内容魔改而成

2019-09-28

一种代替SurfaceView的自定义控件,可以缩放、无限延伸拖动

一种代替SurfaceView的自定义控件,可以缩放、无限延伸拖动

2019-07-16

Canvas和OpenGL结合实现绘图和高速缩放漫游的Demo

Canvas和OpenGL结合实现绘图和高速缩放漫游的Demo,弥补了Canvas移动缓慢的弊端

2019-03-19

Android View 跟随手势移动和缩放

Android View 跟随手势移动和缩放,通过在触屏上移动和多个手指的缩放手势实现移动和缩放

2018-12-17

C语言字典树创建和搜索示例

一种C语言字典树创建和搜索的示例,可以创建一种无论增加多少单词,搜索速度依然 = 该语言字母数 * 单词长度 的效率的存储结构。一个demo

2018-10-30

安卓自动轮播控件SmartScrollView

安卓自动轮播控件SmartScrollView,使得ScrollView中的控件可以根据指定的速度和步进像素进行轮播

2018-08-20

使用JNI读取安卓特定触摸设备事件

使用JNI读取安卓特定触摸设备事件,使得触摸事件获取速度更快

2018-08-20

网站漏洞检测工具 vulnerabilityscanner 试用版

网站漏洞检测工具 vulnerabilityscanner 试用版

2014-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除