- 博客(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
原创 在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
原创 使用队列LinkedBlockingQueue,以广度优先方式从本结点遍历整个ViewTree所有结点
使用队列LinkedBlockingQueue,以广度优先方式从本结点遍历整个ViewTree所有结点。
2024-09-12 14:32:47
143
原创 使用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
原创 创造一款安卓自定义控件(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
原创 GL绘制自定义线条2_手写曲线应用贝塞尔曲线
假定我现在有3个顶点(P0、P1、P2),想以曲线的方式进行绘制其路径,那么可以从P0到P1、P1到P2两个线段,按照同样的百分比步进量,沿着这两个线段对应百分比的位置连接为一个新的线段(图中绿色部分),然后取这个线段同样百分比位置的坐标,将这些坐标连城线即可得到一端曲线。上一篇文章的曲线是由触摸点直接生成的,但触摸点并非连续的,而是离散的,而且屏幕触摸点采样的间隔时间其实不短,因此如果单纯只用触摸点生成OpenGL触摸曲线,在高速书写时会导致曲线看起来就像多个线段合起来一样(事实也是如此)。
2023-05-08 21:52:55
705
原创 向量基础个人思维训练_纹理采样边缘做旧效果的推导
通过一些基本的向量计算规则的组合,实现纹理边缘的黑化效果。本文将讲述自己如何一步步推理出实现目标效果的自定片元shader规则。
2023-04-25 23:23:39
612
原创 做gl demo谨慎打开面剔除功能,否则容易干扰测试,没有错的情况下什么都不显示
最近想做一个关于可以移动光源的光照模型,在以往的代码上随便复制组合一下打算搭建一个demo开始写相关代码,结果发现熟悉的三角形它没有显示出来……其实面剔除对于有效减少渲染时看不到的面消耗的算力很有帮助,但在程序还没做完之前打开可能会导致一些该显示的东西显示不出来。这样基本上就等同于输入的顶点在没有任何变换的情况下,赋予这个三角形面每个一种藏青色(每个顶点都是同样的片元颜色)。那剩下的可能就是gl API调用方面的问题了。而我绘制顶点的顺序刚好就是它不会显示的那种,所以自然显示不出来了。关闭之后一切正常了。
2023-04-16 21:46:16
359
原创 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
原创 现象:相同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
原创 一种margin和padding结合使用的trick
标题栏的背景有阴影,如果侧边栏直接贴合,则阴影无法和侧边栏融为一体。于是我先使用负marginTop把侧边栏抬升到阴影可以覆盖的程度,再通过paddingTop把侧边栏的子view往下拖一些,即可实现阴影叠加在侧边栏上一点点的效果。
2022-09-25 17:31:52
173
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人