自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 问答 (6)
  • 收藏
  • 关注

原创 shader 实践的宝藏网站

There are many shader tutorials out there. For example,Unity 3DandLearn OpenGLprovide basics,Ronjagives some more elaborate effects.The Book of Shadersis an introduction to fragment shaders, under development.Shadertoyis at the far end of the spe

2024-06-07 15:48:12 332

翻译 Radeon GPU Profiler 使用教程(Overview部分)

​本文是对Radeon GPU Profiler的学习记录。重点会记录Overview和Event windows两个部分,这两个部分是RGP的核心控件。​

2024-05-14 09:11:11 172

翻译 AMD GPU 工具RGP

在这篇博文中,我们将试图揭开"occupancy"这个度量标准的神秘面纱。我们首先会简要介绍硬件架构,以了解这个度量标准的来源。然后我们将解释在编译时和运行时可以限制occupancy的因素。我们还将帮助你使用Radeon™ GPU Profiler等工具识别受occupancy限制的工作负载,并提供缓解问题的潜在线索。最后,最后一节将总结本文涉及的所有概念,并针对实际问题提供实用解决方案。

2024-04-23 15:00:12 85

翻译 Anti-Aliasing with Adreno

Qualcomm® Adreno™ GPU实现了多采样抗锯齿(MSAA)的扩展 glFramebufferTexture2DMultisampleEXT ,且能够使得 2x MSAA的执行不会在渲染管线中产生过多的额外成本。Adreno GPU 可以在 GMEM(Graphics Memory,它是一种高速缓存) 中执行 multi-sampling,然后将其resolve(这里的resolve也就是“GMEM Store” )到一个单采样纹理中。

2024-02-02 08:57:07 91

翻译 Vulkan-Sample-MSAA (Multisample anti-aliasing)

Aliasing是以低于原始信号采样率的采样率进行采样导致的。在图形学中,这个过程可以描述为:基于一个会产生artifacts的分辨率去计算像素值,从而在模型边缘产生锯齿。多重采样抗锯齿(Multisample anti-aliasing,MSAA)是一种可以减少像素采样误差的技术。

2024-01-22 07:55:34 1098

原创 单元测试基础下篇—— JUnit/Mockito/Robolectric测试长什么样

本篇主要内容是Junit、Mockito、Robolectric的单元测试代码的基础写法的汇总。从添加依赖项到各个单元测试的hello word case,分别举例说明。

2021-11-29 08:15:00 812

原创 单元测试基础上篇——几大常用框架对比

本文介绍了android里常用的几种单元测试框架:JUnit、Mockito、PowerMock、Robolectric、Espresso 各自的特点和适用场景。个人理解,写单元测试首选Mockito。但是怎么避免mockito要依赖android库这个弱项呢,把代码解耦,比如使用MVP,将业务逻辑与View逻辑分开,这样业务逻辑(Presenter)就不会对Android库有任何依赖,就不需要Mock它们)。那么View层往往由Activity / Fragment实现,使用Robolectric。

2021-11-20 23:23:47 2222

原创 kotlin码上开学练习题

​这个系列是扔物线码上开学系列课程的课后练习题,记录的也主要是一个java程序员在转kotlin 时重点关注的一些用法的比较。《Kotlin 的变量、函数和类型》子类重写父类的override函数,能否修改它的可见性;以下的写法有什么区别?可空变量的声明、初始化和传参《Kotlin 里那些「不是那么写的」》单例练习、数组和集合的练习;《Kotlin 里那些「更方便的」》主构造器和字符串模板$的练习; 循环的用法;为什么数组的 filter 之后变成 List

2021-09-20 19:00:38 822

原创 android addView是如何渲染到屏幕上的(2)——WindowManager和ViewRootImpl

1.生命周期走到 onResume() 时,ActivityThread 会把PhoneWindow的decorView传递给WindowManagerGlobal.2.WindowManagerGlobal 内部维护了一个ViewRootImpl list,ViewRootImpl负责DecorView的测量布局绘制的调用,也负责从WMS获取TouchEvent事件。3.ViewRootImpl 通过 WindowSession,实现了ViewRootImpl和WMS的跨进程通信。

2021-07-18 21:18:49 666

原创 android addView是如何渲染到屏幕上的(1)——LayoutInflactor和PhoneWindow

1.Activity和Dialog都持有一个Window对象,PhoneWindow最重要的是持有了一个mDecorView。 2.用户设置给activity的xml,最终会通过LayoutInflactor解析成为一个个的view节点,存储在viewgroup的view数组 mChildren里面。 3.当Activity和Dialog生命周期走到onResume时,PhoneWindow的mDecorView会被设置给WindowManager。

2021-07-06 23:31:52 571 2

原创 从android系统服务的缓存机制看基于容器的单例模式

android的后台运行了很多系统服务,它们在系统启动时被SystemServer开启,开发人员通过Contex可以到获取这些服务。服务的创建方法被封装成ServiceFetcher对象,统一注册到一个管理类SystemServiceRegistry中,在context向管理类获取某个Service时,这个Service就会被创建并以单例形式保存在这个Context中,减少资源消耗。本文基于Android12的源码,分析系统服务的注册和创建过程,是如何运用基于容器的单例模式的。

2021-05-13 17:06:05 317

翻译 【搬运】AsyncTask is Deprecated, Now What?

AsyncTask 在android11 已经被废除了,那么多线程应该使用什么实现呢。

2020-10-11 22:27:40 1973

原创 [Linux] 配置Android 开发环境

一, 安装 Java Jdk 请前往官网下载, 比如:[jdk-8u231-linux-x64.tar.gz](javascript: void(0)) 移文件到 /usr/local: sudo mv jdk-8u231-linux-x64.tar.gz /usr/local 打开/usr/local目录, 打开终端解压安装包,没错误提示就是安装成功了: ...

2020-04-24 11:17:06 1242

原创 PCL可视化-改进点云的点选、框选(不需要配合x|q|shift键)

一、前提点云的点选、框选事件,现在需要这样的操作:如果要在屏幕上框选点云,需要先点击屏幕、按下键盘x键出发框选,用鼠标框选、按下键盘x键表示结束框选、按下q键表示退出交互(到这一步的实现参考这篇)。这种键盘+鼠标的操作模式使用上确实太麻烦,所以这一篇在前一篇的基础上,用模拟键盘、鼠标消息的方法,代替了键盘+鼠标的交互模式。方法很野路子,有好办法的还请指教。1、环境:pcl1.8(vtk...

2019-01-09 20:40:16 4583 7

原创 PCL可视化-vtk窗口嵌入mfc对话框(pcl1.8All in one安装的库直接可以用,不用自己编译)

一、环境介绍:1、pcl1.8All in one直接安装的,包括vtk在内的一些库都没有自己编译过。2、vs2015(很多博客的介绍,需要自己编译支持MFC的VTK啊,或者需要修改源码啊,最终经过实验,只用pcl安装包里带的vtk库也是可以完成的。)二、实现过程1、新建mfc对话框程序2、拖控件对话框中拖出一个CStaitc控件,在控件上右键-》添加变量,添加一个名为...

2018-12-19 21:33:13 2549 5

原创 PCL可视化-点选、框选(封装为类)

Pcl开发的应用中,当需要用户对点云做一些操作的时候,需要从屏幕拾取点云中某点的三维坐标。关于如何运用PCL实现这部分功能,很多介绍都是基于控制台程序的,调用写在main函数里,但是大部分时候,我们需要把这些事情封装在类中,这时候有一些小小的差别。这次学习主要是记录了对回调机制的理解,封装pcl的选点的回调函数为类的成员函数,完成拾取屏幕坐标点的功能,也记录下完整的类和调用部分的代码。   ...

2018-11-20 20:45:10 4990 3

原创 pcl点云的滤波与特征点学习笔记

参考链接:https://yq.aliyun.com/ziliao/431359 点云数据时不可避免的存在噪声,或者离群点(离主体点云即被测物体点云较远的离散点)。滤波是点云数据处理流程中的第一步,往往对后续处理管道影响很大,只有在滤波预处理中将噪声点、离群点、孔洞、数据压缩等按照后续处理定制,才能够更好的进行配准、特征提取、曲面重建、可视化等后续应用处理。目录一、滤波处理...

2018-11-18 20:37:50 4829 1

原创 maxscript脚本:模型导出为json,用于three.js加载

一、总的任务1.数据来源:将3dsmax中建好的模型,通过烘焙反贴,赋予SelfIllumMap(自发光材质)一个bitmap(位图贴图),用于表达物体的光影效果。加上本身的diffuseMap(本色贴图/漫反射贴图),每个材质一共有两个材质贴图。2.任务:three.js 可以加载json格式的材质,其中包含了metadata、scale、materials、vertices、m...

2018-08-03 20:14:28 5544 2

原创 arcengine计算POI点的服务范围

问题描述: 已有点(point)图层,利用Arcengine求这些点的服务范围解决思路: 点密集的地方,每个点的服务范围就小。点稀疏的地方,每个点的服务范围就大。可以用求泰森多边形的思路来求解。 简单说自己理解的Voronoi图的特点,这是一组多边形,这样一组多边形将整个平面分成N个区域,每个区域中包含一个POI点(Point of Inf...

2017-03-30 19:39:07 906

原创 写一个webSocket(重点记录理解servlet的使用方法)

总述:在当前的web工程中加入socket的服务器端 应用场景:因为在配合师兄做一个物联网的项目,我负责网页端的数据展示。需要用到socket接收传感器发来的数据,然后实时展示出来 为了完成这个功能,我要解决两个问题:怎么启动socket去监听客户端发来的消息。怎么在网页端访问server读到的结果。 好,接下来就这两个方面记录解决的思路。首先说明一下要涉及到的

2017-03-08 19:00:20 5049

空空如也

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

TA关注的人

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