jklwan
码龄13年
  • 154,515
    被访问
  • 61
    原创
  • 15,799
    排名
  • 388
    粉丝
关注
提问 私信

个人简介:喜爱网络编程。

  • 加入CSDN时间: 2008-12-13
博客简介:

chends

查看详细资料
  • 2
    领奖
    总分 183 当月 15
个人成就
  • 获得66次点赞
  • 内容获得28次评论
  • 获得143次收藏
创作历程
  • 3篇
    2022年
  • 1篇
    2021年
  • 16篇
    2020年
  • 41篇
    2019年
成就勋章
TA的专栏
  • Android Studio
    12篇
  • 技术分享
    15篇
  • Android OpenGL ES
    25篇
  • Android
    59篇
  • 开发随笔
    8篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Android Studio Chipmunk 发布

Android Studio Chipmunk(花栗鼠) 发布
原创
发布博客 2022.05.10 ·
163 阅读 ·
0 点赞 ·
0 评论

androidx中ViewPager导致的死循环绘制问题

目录简介查找原因onStop和onDestroy回调延时的原因在处理什么消息?WindowInsets总结简介最近项目升级到了androidx,突然出现了一些问题,Activity的onStop和onDestroy变得很慢,基本都在十秒了,导致一些页面表现不正常,于是来着手来解决这个问题。查找原因onStop和onDestroy回调延时的原因先看下onStop和onDestroy回调延时的原因,找到一篇文章写得很好:深入分析Android中Activity的onStop和onDestroy()回调
原创
发布博客 2022.01.29 ·
418 阅读 ·
0 点赞 ·
0 评论

Android Studio Bumblebee (2021.1.1)稳定版发布

文章目录简介Build and DeployNew Device Manager(全新改版的设备管理器 )ADB over Wi-FiLayout ValidationDevelop & Profile改进的CPU Profiler混淆代码的智能编辑器IntelliJ IDEA 2019.3更新Kotlin Android live templatesClangd support for C++Build构建分析器Java 8 Language library desugaring in D8 an
原创
发布博客 2022.01.28 ·
3444 阅读 ·
1 点赞 ·
0 评论

解决AndResGuard在gradle 7.0上报错的问题

当Android Studio升级到Aretic Fox版本后,APG的版本也升级到了7.0,而gradle的版本也要随之升级到7.0了(参考官方文档)而AndResGuard在gradle升级到7.0后会出现错误,如下Some problems were found with the configuration of task ':app:resguardProdRelease' (type 'AndResGuardTask'). - In plugin 'AndResGuard' type 'c
原创
发布博客 2021.11.23 ·
2139 阅读 ·
0 点赞 ·
1 评论

Android Studio 4.1正式版发布

文章目录简介DesignMaterial Design Components updatesDevelopDatabase Inspector直接在Android Studio中运行Android模拟器Dagger Navigation SupportUse TensorFlow Lite modelsBuild & TestAndroid Emulator - Foldable Hinge Support更新Apply ChangesExport C/C++ dependencies from A
原创
发布博客 2020.10.15 ·
15580 阅读 ·
9 点赞 ·
8 评论

编程语言硬改APNG动态图以实现上传到对格式有限制的网页是如何实现的?

答:
没太明白问题, 1、你说的这个网站是不是把APNG文件后缀改为jpg就可以上传了? 2、把GIF文件改后缀是否可以上传? 3、你是想把GIF解析后转换为APNG吗? GIF转APNG还是蛮复杂的,需要把GIF的每一帧解析出来,然后把每一帧根据APNG的格式进行重新封装写入。可以考虑用公开的API来实现。
回答问题 2020.09.22

Android Studio 4.0正式版发布

文章目录简介实例化使用实例化绘制矩形使用实例化数组小行星带简介本章对应文档如果我们想要绘制许多相同的物体,只是他们的位置或大小不同,按照之前学习的知识,正常的做法是构建一个变化矩阵数组,通过for循环进行循环绘制,当我们绘制的物体数量逐渐增加时会发现设备越来越卡。如果我们能够将数据一次性发送给GPU,然后使用一个绘制函数让OpenGL利用这些数据绘制多个物体,就会更方便了。这就是实例化(Instancing)。实例化实例化只能在OpenGL ES 3.0之后才能使用,实例化会使用到这些方法gl
原创
发布博客 2020.05.30 ·
17632 阅读 ·
1 点赞 ·
2 评论

学习OpenGL ES for Android(二十五)— 实例化

文章目录简介实例化使用实例化绘制矩形使用实例化数组小行星带简介本章对应文档如果我们想要绘制许多相同的物体,只是他们的位置或大小不同,按照之前学习的知识,正常的做法是构建一个变化矩阵数组,通过for循环进行循环绘制,当我们绘制的物体数量逐渐增加时会发现设备越来越卡。如果我们能够将数据一次性发送给GPU,然后使用一个绘制函数让OpenGL利用这些数据绘制多个物体,就会更方便了。这就是实例化(In...
原创
发布博客 2020.03.11 ·
316 阅读 ·
2 点赞 ·
0 评论

学习OpenGL ES for Android(二十四)— 几何着色器

文章目录简介在本章之前还有两章:高级数据和高级GLSL,都是比较理论的知识,有兴趣的话可以自己学习。简介几何着色器(Geometry Shader)是一个可选功能,他介于在顶点和片段着色器之间,接收一组顶点数据,可以对数据进行处理,而且可以根据数据生成不止一个图形,假如你想绘制四个顶点,按照以前的方式,需要for循环四次,每次都顶点数据进行处理,最后传入顶点着色器中。而集合着色器就做了这样一...
原创
发布博客 2020.03.06 ·
481 阅读 ·
1 点赞 ·
0 评论

Android Studio 3.6 正式发布

经历众多的测试版本后,谷歌终于发布了Android Studio 3.6的正式版本,这是Project Marble结束之后的第一个版本,增加了一些小功能,完善了现有的功能,解决了功能上的问题,改善了性能。可以通过下载地址https://developer.android.com/studio#downloads下载,或者使用AS中的Help菜单下的Check for Updates进行应用内升级...
原创
发布博客 2020.02.26 ·
3244 阅读 ·
2 点赞 ·
0 评论

学习OpenGL ES for Android(二十三)— 立方体贴图

我们前面学过纹理贴图,我们可以用6个2D纹理的纹理构建成立方体,而立方体贴图本身就是包含6个2D纹理的纹理,它优势在于可以通过一个方向向量来进行索引/采样。只要在立方体贴图的中心点,就能使用立方体的实际位置向量来对立方体贴图进行采样。创建立方体贴图与2D纹理区别不大,创建立方体贴图同样是创建纹理,只是我们的glBindTexture的方法的参数要变为GLES20.GL_TEXTURE_CU...
原创
发布博客 2020.01.16 ·
1135 阅读 ·
1 点赞 ·
0 评论

学习OpenGL ES for Android(二十二)— 帧缓冲

我们学过的颜色缓冲,深度缓冲已经模板缓冲结合起来就叫帧缓冲。默认系统会定义一个帧缓冲(在移动端就是EGL创建的),而且我们还可以创建自定义的帧缓冲来替代系统创建的。大概的步骤如下:创建一个帧缓冲并绑定; 正常绘制我们的图像(此时绘制的图像会绘制到自定义的帧缓冲上); 重新绑定到系统帧缓冲上; 绘制我们自定义帧缓冲的内容(此时我们可以对帧缓冲的内容进行各种处理以此实现各种效果)。创建帧缓...
原创
发布博客 2020.01.14 ·
460 阅读 ·
0 点赞 ·
0 评论

学习OpenGL ES for Android(二十一)— 面剔除

首先我们绘制一个立方体,想象一下能看到几个面。一般情况下我们最多能看到三个面,极端的情况我们甚至只能看到一个面,这时候如果不绘制看不到的面,是不是非常节省资源,忽略掉看不到的面就叫面剔除。那么怎么判断一个面是否面向观察点呢,在OpenGL中用了这样一个技巧:分析顶点数据的环绕顺序(Winding Order)。环绕顺序绘制三角形时用到了三个顶点,这三个顶点的顺序就是我们提到的环绕顺序。三个...
原创
发布博客 2020.01.09 ·
310 阅读 ·
1 点赞 ·
0 评论

学习OpenGL ES for Android(二十)— 混合

在之前使用物体时没考虑过透明的情况,而混合就是除了物体透明度的一种方式。在处理物体透明时一般有两种方式,一种是直接丢弃掉透明度达到一定程度的部分;另外一种就是混合。例如一扇窗户如果是全透明的我们看到的物体就是窗口后的物体;如果它是半透明的有色玻璃时,看到的就是玻璃和窗口后物体的叠加。之前我们使用纹理的颜色都是纹理的rgb颜色,没有用到最后一个alpha(也就是透明度),alpha的范围是0到1,1...
原创
发布博客 2020.01.08 ·
439 阅读 ·
0 点赞 ·
0 评论

学习OpenGL ES for Android(十九)— 模板测试

模板测试的文档https://learnopengl-cn.github.io/04%20Advanced%20OpenGL/02%20Stencil%20testing/,和深度测试类似,它也会丢弃片段。启用模板测试的代码GLES20.glEnable(GLES20.GL_STENCIL_TEST);注意:在Android中,只使用这句是无法启用模板测试的,还需要使用下面代码配置GLS...
原创
发布博客 2020.01.07 ·
360 阅读 ·
0 点赞 ·
0 评论

学习OpenGL ES for Android(十八)— 深度测试

从这章开始学习高级OpenGL的内容。关于深度测试的理论知识,请参考https://learnopengl-cn.github.io/04%20Advanced%20OpenGL/01%20Depth%20testing/文档详细阅读,感觉文档讲得已经非常清楚了,这里就不再复制一遍了。启用深度测试GLES20.glEnable(GLES20.GL_DEPTH_TEST);每次渲染时还...
原创
发布博客 2020.01.06 ·
179 阅读 ·
0 点赞 ·
0 评论

学习OpenGL ES for Android(十七)— 模型纹理

模型加载最后的一课,就是使用贴图,不再使用纯色显示物体。纹理的信息也是和材料一样存放在mtl文件中,格式也是类似的,只是一些信息以map开头的,我们先下载https://free3d.com/3d-model/crocus-flower-v1--75899.html这个模型的文件,找到mtl文件,同样根据https://en.m.wikipedia.org/wiki/Wavefront_.obj_...
原创
发布博客 2020.01.05 ·
224 阅读 ·
0 点赞 ·
0 评论

学习OpenGL ES for Android(十六)— 模型材料

上一章我们简单学习了.obj模型文件的读取和使用,这章我们学习材料文件(.mtl)的读取和使用,.mtl文件是和.obj文件息息相关的。材料文件可能定义一种或多种材料,我们找一个简单带材料的模型:https://free3d.com/3d-model/-x96-slider-doorblack-v1--87538.html,打开其中的mtl看下文件格式,同样我们参考https://en.m.wik...
原创
发布博客 2020.01.04 ·
159 阅读 ·
0 点赞 ·
0 评论

学习OpenGL ES for Android(十五)— 模型结构

在之前的文章中都是我们使用代码绘制的图形图像,而如果我们想要使用别人设计的模型时就需要使用到模型加载。和桌面不同的是,Android上的模型加载库推荐使用jPCT-AE,官网http://www.jpct.net/jpct-ae/,可以直接下载并参考文档学习使用。当3D大师们使用Blender、3DS Max或者Maya等软件制作模型后,可以导出例如.blend,.x3d,.obj等等各种类型的文...
原创
发布博客 2020.01.03 ·
309 阅读 ·
0 点赞 ·
0 评论

学习OpenGL ES for Android(十四)— 多光源

在学习过光照,材质,投光物之后,现在我们把这些效果结合起来。我们显示这样的效果:在阳光照射下,有几个点光源,同时有一个聚光灯,此时在不同位置的物体被光照的效果。要定义多个光源,那么就需要定义不同的结构体,同时我们分开来不同的光照计算,使代码更清晰,GLSL定义方法和C相似,不过需要先声明,然后再定义,如下void calc(); //声明一个函数void calc() //定...
原创
发布博客 2020.01.02 ·
173 阅读 ·
0 点赞 ·
0 评论
加载更多