自定义博客皮肤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_厚厚的博客

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

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

@专栏介绍: 这里开一个专栏,翻译OGLdev的系列教程《OpenGL Step by Step》,由于本人是个程序员,所以对教程不会完全的简单直译,会根据自己的理解进行一个汉语的解释以及补充,尽量将原文的意思介绍清楚。原文核心内容是对函数的详细解释,这里为了更容易理解,将作者的实例代码加注...

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

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

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

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

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

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

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

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

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

2016-10-21 16:00:28 16560 0

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

参考http://www.myexception.cn/operating-system/1924022.html的思路使用一个UIWindow实现按钮悬浮在应用中不受页面切换的影响,之后要实现悬浮窗口的拖动和自动吸附在靠近的屏幕边缘。          开始思路是直接改写UIButton,使用...

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

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

教程 38 Assimp库实现骨骼蒙皮动画 原文: http://ogldev.atspace.co.uk/www/tutorial38/tutorial38.html CSDN完整版专栏: https://blog.csdn.net/cordova/article/category/92669...

2020-09-16 18:41:26 158 0

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

教程 37 延迟渲染(三)[模板测试] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rxb67rH1-1599744879773)(http://ogldev.atspace.co.uk/tutorial37.jpg)] 原文: http://ogldev.ats...

2020-09-10 21:36:32 81 0

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

教程 10 高级光照模型1:Cook-Torrance BRDF 教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemos CSDN完整版专栏: https://blog.csdn.net/cordova/category_973415...

2020-04-04 18:56:27 377 0

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

教程 9 Blinn-Phong光照模型 教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemos CSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html 一、原理 ...

2020-04-04 18:52:05 242 0

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

文章目录***教程 8***环境光一、原理二、源码分析2.1 ShaderTypes.h2.2 Render.m2.3 Shaders.metal三、运行效果 教程 8 环境光 教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemos ...

2020-03-31 19:02:26 251 0

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

教程 7 镜面反射 教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemos CSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html 一、原理 1.1 镜面反射光 上...

2020-03-31 18:58:31 201 0

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

教程 6 漫反射 教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemos CSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html 一、原理 1.1 基础光照 之前的...

2020-03-31 14:00:53 173 0

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

教程 5 Uniform Buffer 教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemos CSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html 一、Unif...

2020-03-27 11:55:31 368 0

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

教程 4 OBJ模型加载 教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemos CSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html 一、知识点 OBJ格式模...

2020-03-20 21:55:28 428 0

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

教程 3 MTLVertexDescriptor 教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemos CSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html 知...

2020-03-01 18:14:36 328 0

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

教程 2 纹理贴图 教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemos CSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html 一、知识点 UV坐标系 MTL...

2020-02-28 20:17:27 547 0

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

教程 1 绘制第一个三角形 教程源码下载地址: https://github.com/jiangxh1992/MetalTutorialDemos CSDN完整版专栏: https://blog.csdn.net/cordova/category_9734156.html 一、知识点 Metal...

2020-02-27 22:10:19 1077 0

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

教程 36 延迟渲染(二) 原文: http://ogldev.atspace.co.uk/www/tutorial36/tutorial36.html CSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966 理论介绍...

2020-02-25 11:21:32 252 0

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

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

2020-02-16 14:52:08 599 0

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

教程 34 延迟渲染(一) 原文: http://ogldev.atspace.co.uk/www/tutorial35/tutorial35.html CSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966 理论介绍...

2020-02-13 17:48:07 320 0

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

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

2019-12-31 23:16:01 647 0

原创 Unity Profiler联调Xcode性能分析

Unity Profiler联机调试工具:Profiling 安卓联调 Unity Profiler链接安卓手机调试一般通过USB连接手机并通过ADB来connect: https://www.cnblogs.com/fengxing999/p/9958593.html https...

2019-12-27 13:49:09 357 0

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

官方Demo下载地址: https://developer.apple.com/documentation/metal/forward_plus_lighting_with_tile_shading?language=objc 文章目录一、关键词二、关于Forward+三、Persiste...

2019-12-05 16:50:01 286 0

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

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

2019-11-20 20:56:18 521 0

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

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

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

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

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

2019-11-09 17:17:58 998 0

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

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

2019-11-06 22:51:15 735 0

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

MTLRenderPassDescriptor和MTLVertexDescriptor是Metal引擎框架中比较重要的两个类,分别用来配置渲染末期渲染结果的去向和渲染初期顶点数据的映射传送。 一、MTLRenderPassDescriptor渲染通道描述 1.1 MTLRenderPassDe...

2019-10-29 15:57:59 2138 0

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

教程 33 实例渲染 原文: http://ogldev.atspace.co.uk/www/tutorial33/tutorial33.html CSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966 理...

2019-10-09 11:36:27 439 0

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

教程 34 GLFX,一个OpenGL效果库 原文: http://ogldev.atspace.co.uk/www/tutorial34/tutorial34.html CSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266...

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

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

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

2019-10-05 18:06:00 636 0

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

教程 32 顶点数组对象VAO 原文: http://ogldev.atspace.co.uk/www/tutorial32/tutorial32.html CSDN完整版专栏: http://blog.csdn.net/column/details/13062.html 理论介绍...

2019-10-04 16:53:49 245 0

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

教程 31 PN(Point-Normal)三角形曲面细分 原文: http://ogldev.atspace.co.uk/www/tutorial31/tutorial31.html CSDN完整版专栏: http://blog.csdn.net/column/details/13062.ht...

2019-10-04 15:52:09 334 0

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

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

2019-09-11 20:07:52 1908 0

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

游戏中的抗锯齿技术Anti-Alasing提炼总结 锯齿(走样,失真)产生的根本原因 图形学的根本过程是一个图形转化成图像的过程,该过程是一个连续信号经过采样转化成离散信号(显示设备的像素是离散的)的过程,之所以产生锯齿现象(失真,走样)就是因为信号的离散性被人眼识别出来。抗锯齿就是通过一些手...

2019-01-27 19:32:27 1582 0

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

True Impostor技术 基本介绍 Impostor,原意“伪装者”,是一种使用极简单的mesh来模拟真实mesh模型的一种优化技术,可以高效的在场景中绘制大量同类的模型而不需要绘制大量的多边形。Impostor技术是介于Billboard和mesh之间的一种模型,在节省顶点的同时实现模型全...

2019-01-27 19:20:15 1100 0

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

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

2018-10-05 16:34:09 8709 0

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

教程 30 曲面细分基础 原文: http://ogldev.atspace.co.uk/www/tutorial30/tutorial30.html CSDN完整版专栏: http://blog.csdn.net/column/details/13062.html 背景 ...

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

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

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

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

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

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

2018-06-02 14:30:51 4545 0

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