自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr_厚厚的博客

学之愈深,愈是心生畏惧!

  • 博客(174)
  • 资源 (10)
  • 论坛 (2)

翻译 【一步步学OpenGL 1】-《打开一个窗口》

@专栏介绍:这里开一个专栏,翻译OGLdev的系列教程《OpenGL Step by Step》,由于本人是个程序员,所以对教程不会完全的简单直译,会根据自己的理解进行一个汉语的解释以及补充,尽量将原文的意思介绍清楚。原文核心内容是对函数的详细解释,这里为了更容易理解,将作者的实例代码加注释后贴在后面代码片里,使程序员看上去更容易理解和动手测试。由于本人也在学习阶段,难免有理解不精确的地方,欢...

2017-09-14 22:21:00 31611 16

原创 在matlab上实现遗传算法解决TSP旅行者问题

TSP问题指的是从一个节点开始遍历其他所有节点并回到初始节点,构成一个哈密顿回路,节点与节点之间距离不同,目标是找到一条回路使得总路程最短,也即就是走最短的路遍历所有节点回到起点。 遗传算法模仿达尔文进化论中优胜劣汰的思想,从随机初始总群开始,不断进化最终选出接近最优解的一代,从而求解出近似最优解 问题描述下图矩阵展示了不同城市之间的距离,城市到自身的距离为0,现要求从Hong Ko

2017-03-22 13:26:35 20788 21

翻译 2D空间中使用Quadtree四叉树进行碰撞检测优化

很多游戏中都需要使用碰撞检测算法检测两个物体的碰撞,但通常这些碰撞检测算法都很耗时很容易拖慢游戏的速度。这里我们学习一下使用四叉树来对碰撞检测进行优化,优化的根本是碰撞检测时跳过那些明显离得很远的物体,加快检测速度。【注:这里算法的实现使用的Java语言,但算法和语言没有关系,理解了其中的原理可以应用到各种碰撞检测场景中。】 介绍碰撞检测是多数游戏的关键部分,不管是2d游戏还是3d游戏中,检测

2016-12-22 22:44:42 10502 5

原创 【洗牌算法】C++将数组的元素顺序随机打乱(条件概率证明算法充分随机)

将数组顺序打乱做模拟需要用到将一个数组内的元素随机打乱的需求,也就是需要生成数组下标的一个随机顺序。实现的思路如下:以将一个元素个数为10的数组打乱为例:思路 1开始先循环一次生成0-9之间的一个数作为第一个下标,此时原数组的位置已经被占用了一个(实际第一次生成的随机下标就是最终的下标了,因为之前位置没有被占用);然后生成一个0-8之间的数作为第二个下标,但这个下标是对应于剩下空间所在的数组的下标,

2016-10-21 16:00:28 16214

原创 【Demo】iOS可吸附拖动的悬浮窗按钮插件

参考http://www.myexception.cn/operating-system/1924022.html的思路使用一个UIWindow实现按钮悬浮在应用中不受页面切换的影响,之后要实现悬浮窗口的拖动和自动吸附在靠近的屏幕边缘。        开始思路是直接改写UIButton,使用touch代理事件来监听按钮开始触摸,移动,触摸结束等事件获取触点坐标,改变UIWindow的位

2016-06-14 23:32:45 11538 45

转载 【一步步学OpenGL(38) 】-《Assimp库实现骨骼蒙皮动画》

教程 38Assimp库实现骨骼蒙皮动画原文: http://ogldev.atspace.co.uk/www/tutorial38/tutorial38.htmlCSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966理论介绍***骨骼动画(Skeletal animation)***,也叫***骨骼蒙皮(Skinning)***,这里我们介绍使用Assimp这个库来实现骨骼动画。骨骼动画的制作实际上分为两个阶段,第

2020-09-16 18:41:26 98

翻译 【一步步学OpenGL(37) 】-《延迟渲染(三)》

教程 37延迟渲染(三)[模板测试][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rxb67rH1-1599744879773)(http://ogldev.atspace.co.uk/tutorial37.jpg)]原文: http://ogldev.atspace.co.uk/www/tutorial37/tutorial37.htmlCSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966

2020-09-10 21:36:32 69

原创 【一步步学Metal图形引擎10】-《BRDF:Cook-Torrance光照模型》
原力计划

教程 10高级光照模型1:Cook-Torrance BRDF教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemosCSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html一、关键词基于物理的渲染(PBR)微表面理论能量守恒各向异性菲涅耳反射定律...

2020-04-04 18:56:27 345

原创 【一步步学Metal图形引擎9】-《Blinn-Phong光照模型》

教程 9Blinn-Phong光照模型教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemosCSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html一、原理前面的教程我们完成了漫反射、镜面反射和环境光的计算,基于Phong光照模型组合三者得到不错的光照效果,...

2020-04-04 18:52:05 227

原创 【一步步学Metal图形引擎8】-《环境光》

文章目录***教程 8***环境光一、原理二、源码分析2.1 ShaderTypes.h2.2 Render.m2.3 Shaders.metal三、运行效果教程 8环境光教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemosCSDN完整版专栏: https://blog.csdn.net/cordova/category_9...

2020-03-31 19:02:26 234

原创 【一步步学Metal图形引擎7】-《镜面反射》
原力计划

教程 7镜面反射教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemosCSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html一、原理1.1 镜面反射光上一篇教程中基于Lambert模型计算的漫反射较好的表现了粗糙物体表面的光泽,像石灰墙、泥塑等。但对于表...

2020-03-31 18:58:31 186

原创 【一步步学Metal图形引擎6】-《漫反射》
原力计划

教程 6漫反射教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemosCSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html一、原理1.1 基础光照之前的教程我们实现了将一个模型加载到场景中,并实现了模型的矩阵变换和相机的移动变换。但我们之前并没有开始真正...

2020-03-31 14:00:53 162

原创 【一步步学Metal图形引擎5】-《Uniform Buffer》

教程 5Uniform Buffer教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemosCSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html一、Uniform Buffer的作用Uniform Buffer和OpenGL中的一致变量类似,用来定义和传递...

2020-03-27 11:55:31 319

原创 【一步步学Metal图形引擎4】-《OBJ模型加载》

教程 4OBJ模型加载教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemosCSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html一、知识点OBJ格式模型AAPLMeshMDLVertexDescriptorMDLMesh二、背景前面教程3中...

2020-03-20 21:55:28 387

原创 【一步步学Metal图形引擎3】-《MTLVertexDescriptor》

教程 3MTLVertexDescriptor教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemosCSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html知识点MTLVertexDescriptorAOS & SOAattribute语义绑定...

2020-03-01 18:14:36 301

原创 【一步步学Metal图形引擎2】-《纹理贴图》
原力计划

教程 2纹理贴图教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemosCSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html一、知识点UV坐标系MTLTextureMTKTextureLoader贴图加载Metal采样对象sampler二、纹理...

2020-02-28 20:17:27 493

原创 【一步步学Metal图形引擎1】-《绘制第一个三角形》

教程 1绘制第一个三角形教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemosCSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html一、知识点Metal渲染管线顶点缓冲Metal着色器(顶点着色器和片段着色器)顶点坐标系Metal Shading...

2020-02-27 22:10:19 986

翻译 【一步步学OpenGL(36)】 -《延迟渲染(二)》

教程 36延迟渲染(二)原文: http://ogldev.atspace.co.uk/www/tutorial36/tutorial36.htmlCSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966理论介绍上个教程我们学习了延迟渲染的基础原理,并从几何阶段第一个pass计算得到了G-buffer组合数据(...

2020-02-25 11:21:32 241

原创 【Metal2剖析(七):抗锯齿之基于Imageblock特性的增强MSAA】

文章目录关键词游戏中的抗锯齿技术锯齿(走样,失真)产生的根本原因抗锯齿算法的分类SSAA(Super Sample Anti-Aliasing),超级采样抗锯齿MSAA(Multi-Sample AntiAliasing),多重采样抗锯齿FXAA(Fast Approximate Anti-Aliasing),快速近似抗锯齿MLAASMAA(Subpixel Monorplogical Anti-...

2020-02-16 14:52:08 547

翻译 【一步步学OpenGL(35)】 -《延迟渲染(一)》

教程 34延迟渲染(一)原文: http://ogldev.atspace.co.uk/www/tutorial35/tutorial35.htmlCSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966理论介绍从教程17开始我们的光照计算渲染路径都是前向渲染。前向渲染是一种最直接的光照计算渲染路径,我们在VS...

2020-02-13 17:48:07 298

原创 【Metal2剖析(六):Metal图像处理基础(上)】

【Metal引擎研发笔录】完整版CSDN专栏:https://blog.csdn.net/cordova/category_9467887.html文章目录一、关键词上:下:二、Metal引擎下实现图像处理三、图像处理概念四、灰度变换4.1 灰度取反(Image NegaTive)4.2 Log变换(Log Transformation)4.3 幂律变换(Power-Law Trandfor...

2019-12-31 23:16:01 588

原创 Unity Profiler联调Xcode性能分析

Unity Profiler联机调试工具:Profiling安卓联调Unity Profiler链接安卓手机调试一般通过USB连接手机并通过ADB来connect:https://www.cnblogs.com/fengxing999/p/9958593.htmlhttps://blog.csdn.net/BillCYJ/article/details/81664215https:...

2019-12-27 13:49:09 316

原创 【Metal2剖析(五):Forward+ with Tile Shading】

官方Demo下载地址:https://developer.apple.com/documentation/metal/forward_plus_lighting_with_tile_shading?language=objc文章目录一、关键词二、关于Forward+三、Persistent Threadgroup memory四、Tile Based Shading五、Light Cul...

2019-12-05 16:50:01 276

原创 【Metal2剖析(四):基于MPS的GPU加速光线追踪(Accelerating Ray Tracing)】

Demo下载地址:https://developer.apple.com/documentation/metalperformanceshaders/metal_for_accelerating_ray_tracing?language=objchttps://developer.apple.com/documentation/metalperformanceshaders/animati...

2019-11-20 20:56:18 494

原创 Metal2新特性:光栅顺序组(ROG,Raster Order Groups)

背景主题文章:【Metal引擎剖析(二):传统延迟渲染和TBDR】1. Raster Order Groups的作用ROG是干什么的呢?官方解释:准确的控制并行的fragment shader线程访问同一个像素的顺序。通俗点说,就是我们在渲染场景物体的时候,有些前后重叠遮挡的物体身上的fragment shader可能会同时访问同一个坐标的那个像素数据,造成竞争,导致结果错误。而ROG就...

2019-11-12 16:12:42 693 2

原创 【Metal2剖析(三):OIT顺序无关透明渲染[Imageblock]】

官方Demo下载地址:https://developer.apple.com/sample-code/metal/Order-Independent-Transparency-with-Imageblocks.zip文章目录一、关键词二、普通透明度算法三、高级透明算法3.1 加权平均值算法(Weighted Average)3.2 深度剥离算法(Depth Peeling)四、Imageb...

2019-11-09 17:17:58 957

原创 【Metal2剖析(二):传统延迟渲染和TBDR】

针对延迟渲染,官方给出了一个Demo,分别实现了传统的双Pass延迟渲染和利用Metal的特性实现的单一Pass延迟渲染。单Pass延迟渲染主要依靠iOS和tvOS平台的Tile based特性来实现。这篇文章主要根据官方的延迟渲染Demo来分析两种延迟渲染的原理区别,扩展Programmable blending特性实现延迟渲染和ImageBlock实现延迟渲染进行优化的原理,挖掘总结用到的...

2019-11-06 22:51:15 709

原创 【Metal2剖析(一):MTLRenderPassDescriptor和MTLVertexDescriptor】

MTLRenderPassDescriptor和MTLVertexDescriptor是Metal引擎框架中比较重要的两个类,分别用来配置渲染末期渲染结果的去向和渲染初期顶点数据的映射传送。一、MTLRenderPassDescriptor渲染通道描述1.1 MTLRenderPassDescriptor是什么关于MTLRenderPassDescriptor苹果官方的解释比较简单,初学者可...

2019-10-29 15:57:59 2053

翻译 【一步步学OpenGL(33) 】-《实例渲染》

教程 33实例渲染原文: http://ogldev.atspace.co.uk/www/tutorial33/tutorial33.htmlCSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966理论介绍假设我们想渲染一个有一支庞大军队经过的场景,我们要用一个士兵的模型渲出成千上万的士兵大军。一种方法是每次绘...

2019-10-09 11:36:27 416

翻译 【一步步学OpenGL(34) 】-《GLFX,一个OpenGL效果库》

教程 34GLFX,一个OpenGL效果库原文: http://ogldev.atspace.co.uk/www/tutorial34/tutorial34.htmlCSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966理论介绍这篇教程暂时先不继续探索OpenGL的特性和3D技术了,来介绍一下GLFX,一个O...

2019-10-09 11:33:30 431 1

原创 Unity传送数据到原生平台参数映射总结

Unity传送数据到原生平台参数映射总结在Unity的移动游戏开发中,尤其涉及到一些原生插件的开发中,需要利用Unity和原生平台(iOS、安卓)之间的通信机制,实现数据和事件的传输。其中数据传输涉及到脚本数据到C++数据类型的一个转变,因为在往原生平台传数据过程中,数据会以无类型的数据流传过去,因此正确的接收转换数据十分重要。关于Unity和iOS原生平台之间的通信方法请移步:Unity与I...

2019-10-05 18:06:00 590

翻译 【一步步学OpenGL 32】 -《顶点数组对象VAO》

教程 32顶点数组对象VAO原文: http://ogldev.atspace.co.uk/www/tutorial32/tutorial32.htmlCSDN完整版专栏: http://blog.csdn.net/column/details/13062.html理论介绍顶点数组对象(VAO,Vertex Array Object)用来封装所有和定点处理器相关的数据的特殊对象。它并...

2019-10-04 16:53:49 231

翻译 【一步步学OpenGL 31】 -《PN(Point-Normal)三角形曲面细分》

教程 31PN(Point-Normal)三角形曲面细分原文: http://ogldev.atspace.co.uk/www/tutorial31/tutorial31.htmlCSDN完整版专栏: http://blog.csdn.net/column/details/13062.html理论介绍上一个教程我们介绍了OpenGL 4.x中的曲面细分基础技术(本章教程的内容是在上一...

2019-10-04 15:52:09 300

原创 Unity CommandBuffer渲染MTR到自定义的RenderTexture

目标:延迟渲染技术下,有时我们要先把模型的Diffuse、Normal、Depth、Roughness等数据先渲到自定义的RenderTexture中(CPU中,以几张贴图的形式保存到Disk),然后进行后面的延迟光照等计算。思路:方法一可以用Camera直接渲,只要将自定义的RT设置为相机的target即可(MRT要使用Camera的SetTargetBuffers (RenderBu...

2019-09-11 20:07:52 1761

原创 游戏中的抗锯齿技术Anti-Alasing提炼总结

游戏中的抗锯齿技术Anti-Alasing提炼总结锯齿(走样,失真)产生的根本原因图形学的根本过程是一个图形转化成图像的过程,该过程是一个连续信号经过采样转化成离散信号(显示设备的像素是离散的)的过程,之所以产生锯齿现象(失真,走样)就是因为信号的离散性被人眼识别出来。抗锯齿就是通过一些手段来重构丢失的信号。我们通常用的抗锯齿算法实际上是降低锯齿,并非消除锯齿。走样的两个来源:采样点的颜色...

2019-01-27 19:32:27 1495

原创 True Impostor技术原理总结与实践

True Impostor技术基本介绍Impostor,原意“伪装者”,是一种使用极简单的mesh来模拟真实mesh模型的一种优化技术,可以高效的在场景中绘制大量同类的模型而不需要绘制大量的多边形。Impostor技术是介于Billboard和mesh之间的一种模型,在节省顶点的同时实现模型全角度细节的展示。Impostor将2维纹理映射到一张矩形mesh上,模拟高精度模型的假象,实现方法可以...

2019-01-27 19:20:15 1074

原创 Unity判断机型是否为iPhoneX,iPhoneXS,iPhoneXR,以及iPhoneXS Max

原生iOS常用的判断方法iOS中判断机型的方式通常是利用屏幕分辨率,导航栏尺寸,是否支持某些功能特性等进行判断。例如获取屏幕宽高:CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width;CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;Uni...

2018-10-05 16:34:09 8565

翻译 【一步步学OpenGL 30】 -《曲面细分基础》

教程 30曲面细分基础原文: http://ogldev.atspace.co.uk/www/tutorial30/tutorial30.htmlCSDN完整版专栏: http://blog.csdn.net/column/details/13062.html背景曲面细分技术是OpenGL 4.x加入的一个令人振奋的新特性。曲面细分处理的核心是3d模型的细节和多...

2018-07-03 15:15:14 4272 1

原创 用于Unity(windows\iOS\安卓)的纯C版LZMA压缩算法库(dll .so和.a)

自行封装的LZMA接口库,用于unity,包括win平台的dll,安卓的so动态库和iOS的.a静态库 LZMA是目前压缩比最高的压缩算法,官方提供了多种语言的版本,unity中可以直接使用C#版,但是实际证明纯C版的压缩速度是C#版的四五倍。封装工程介绍LZMA(Xcode)是一个iOS的静态库工程,直接在xcode中run一下即可得到对应的.a静态库,顶层接口封装在...

2018-06-16 14:22:11 836 2

原创 Unity适配iPhoneX iOS 11+ Home键易误操作的问题

问题描述iPhone设备首次去掉的传统的Home键,以极大的扩展了屏幕尺寸,取代Home键的是屏幕底部中间的虚拟home条,响应上滑手势回到主页面。但如此造成的问题是游戏中尤其是像王者荣耀等操作比较频繁的游戏很容易误操作home键,导致游戏偶然退出影响游戏体验。适配目标现在适配iPhoneX的目标是两次上滑操作才最终出发home键,默认状态让home虚拟条处于灰白色状态,第一次上滑...

2018-06-02 14:30:51 4454

用于unity的纯C版LZMA库(包括dll、so和.a))

编译好的用于unity的纯C版LZMA库(包括dll、so和.a)),附加接口使用示例,可用于windows、安卓和iOS工程中

2018-06-18

unity camera filter pack图片处理滤镜插件

unity滤镜插件,摄像头实时滤镜处理库,支持三百多种滤镜,功能强大,版本新

2017-12-27

HTML5密码输入框最新Demo 下载

最新的密码显示与隐藏输入框,直接修改input标签type版

2017-05-19

密码输入框demo

html5密码输入框,可显示和隐藏password

2016-12-16

使用UITableView实现的可折叠分组下拉列表组件

使用UITableView实现的可折叠分组下拉列表组件

2016-11-05

使用TableView实现的账号下拉菜单组件demo

使用TableView实现的账号下拉菜单组件demo

2016-10-08

JQuery实现选座功能逻辑的Demo

使用JQuery实现的选座功能,简单易扩展。

2016-09-28

iOS适应屏幕旋转的悬浮窗

使用uiwindow实现的一个可适应屏幕旋转的ios悬浮窗,简单清晰,一句话可调用实现

2016-07-22

NGUI 3.9.0

NGUI 3.9.0

2016-03-25

NET Reflector8.4.0反编译软件

Reflector的破解版软件,可以反编译dll文件看到源码

2016-03-16

Mr_厚厚的留言板

发表于 2020-01-02 最后回复 2020-03-28

markdown真的该美化了;博客自定义栏目至少给三个吧!

发表于 2018-04-12 最后回复 2018-04-12

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