- 博客(97)
- 收藏
- 关注
原创 分布式系统
生产者-消费者模式生产者生产数据,并存放在缓冲区中;消费者从缓冲区中取数据,并进行消费(处理)。优点解耦,生产者和消费者解耦。 可调整并发,给予慢的一方更多并发数。 异步。 支持分布式,生产者和消费者通过队列进行通讯,不需要运行在同一台机器上。两个注意点容器一致性,容器对于所有生产者和消费者都是一致的,因此对容器的访问必须是同步的(即获取容器数据之前,须获得容器的锁)。 生产者和消费者之间的同步和协作。当容器已满,生产者不生产;当容器已空,消费者不消费;容器从空到有,通..
2021-03-20 09:00:58
244
原创 NetworkX
networkx的安装及简单用法networkx整理NetworkX系列教程(10)-算法之一:最短路径问题多源最短路径算法—Floyd算法NetworkX——谈一谈Python中网络的构建、绘制与最短路搜索Protected shortest path visiting specified nodes关于经过若干指定节点最短路径问题的算法。...
2021-01-04 20:09:04
206
原创 Unity Shader 之 Mask & Stencil
使用Mask, 正确的裁减非默认材质UI对象Shader error: Material doesn't have stencil properties ??UI shader: Stencil and additive
2020-06-09 14:27:15
535
原创 Unity组件之Rect Transform
Left, Top, Right, Bottom:边距矩形的四条边对应各个锚点的距离,Left对应锚点XMin,Right对应锚点XMax,Bottom对应锚点YMin,Top对应锚点YMax。Anchors:锚点锚点是矩形相对父矩形四个角的相对位置,可指定X、Y轴上的Min和Max两个值。当4个锚点聚集在同一个点时,可指定矩形轴点的位置(Pos)和矩形大小(Width/Heigh...
2020-05-02 14:08:34
580
原创 Unity性能优化
MemoryProfilerUnity5.3新Memory ProfilerUnity将来时:IL2CPP是什么?An introduction to IL2CPP internalshttps://upr.unity.com/用adb连接安卓模拟器Unity3d如何profile模拟器Unity资源管理(四)-AssetBundle使用模式关于Unity中的资源管...
2020-01-08 19:34:02
178
原创 战争迷雾
战争迷雾纹理生成在纹理坐标系下,以玩家位置为中心,向四周扩展计算纹理像素可见性。当遇到地图障碍时,标记视野范围内视线方向上的像素点为当前不可见。重复上述过程直至遍历视野范围内所有纹理像素。更新迷雾纹理投影到场景场景大地图固定的游戏(比如,英雄联盟、文明6),可以求出地图平面顶点到迷雾纹理像素点的映射矩阵,而通过相机的投影矩阵、相机的位置和深度缓冲信息可以求出帧缓冲区的...
2019-03-05 11:07:49
997
原创 Unity实现水面渲染效果
镜面反射将摄像机的位置和视锥体关于镜面进行对称变换,渲染一张RenderTexture。在渲染水面时,计算水面某像素在屏幕中的位置,根据该位置对RenderTexture进行采样。参考资料GPU GemsShader相册第6期 --- 实时水面模拟与渲染(一)Unity Shader学习笔记(28)噪声纹理、消融效果、水波效果、噪声雾效Unity3D教程:实现水...
2019-02-28 11:08:07
12084
原创 Unity的光照与阴影
参考资料Shadow mappingUnityEffects(1)之shadowMap(阴影映射)游戏里的动态阴影-ShadowMap实现原理PCF软阴影技术讲解(Shadow Mapping) 阴影映射原理与实现
2019-02-21 17:55:32
1333
原创 三维投影变换
三维投影变换是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume,CVV)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。通过投影,几何图形的3D坐标转换成屏幕上的2D坐标。通过指定投影,可以指定在窗口中显示的视景体(Viewing Volume),并指定如何对其进行变换。...
2019-02-20 13:31:19
2282
1
原创 Unity的着色器
在Unity中,材质(Material)、着色器(Shader)和纹理(Texture)三者的关系非常密切。一个材质指定使用一个着色器,着色器则决定了材质可以使用的属性;一个着色器可以设置一个或多个纹理。属性列表(properties)里的属性会显示在材质面板。HLSL代码需要访问列表中的属性时,要先根据变量类型映射进行声明。每一个着色器(shader)有一个或多个子着色器(s...
2019-02-13 13:53:22
962
原创 bat命令
如何区分交互式Windows bat/cmd脚本(cmd.exe)中的Enter和Escape键?批处理 转义符利用bat读取文件夹下所有目录路径并打上标签的方法图文详细教程windows批处理文件路径与名称提取批处理如何提取文件位置和文件名 不包括后缀windows bat脚本for循环中对变量循环赋值 番外:Python做出爱心曲线...
2018-12-28 16:12:33
446
原创 放置类游戏
参考资料说开挂机游戏好玩在哪里?——从《天天打波利》说起你的等待很值钱——浅谈挂机游戏放置类游戏的“爽点”:没有什么是睡一觉过不去的关...
2018-11-30 16:06:43
4779
原创 Unity的游戏打包
Win64打包关于UnityPC端打包参数设置及发布PC端时固定分辨率Unity踩坑日记——PC打包后窗口控制抽风Android打包环境配置unity3D打包发布Apk详细步骤将unity项目发布到安卓手机(Unity2018.3.7f1)unity-添加编译宏及设置参数设置打包参数设置应根据实际项目需求设定参数的值,这里只列举两个在打包过程中对打包...
2018-09-27 09:30:48
4161
原创 Unity的画布和相机
相机参数Viewport Rect如果X+W(Y+H)大于1,则W=1-X(H=1-Y)。实战:将三维模型渲染在UI之前 在开发MMO游戏时,经常会有人物(装备)预览界面,往往需要实现在UI上显示人物模型或装备等其它对象的需求。在Unity中可以通过下面的方法实现这个这种需求:将UI所在的画布的渲染模式选择为Screen Space-Camera,并设置...
2018-09-25 20:32:10
3131
原创 Unity的ScrollView
滚动视图(ScrollView)控件用于显示比它大的控件的部分内容。滚动视图拥有两个Rect,一个定义了滚动视图自身的大小和位置,另一个定义了滚动视图可显示的控件(Content)的大小。如果可显示的控件的大小大于滚动视图的大小,则滚动条(Scrollbar)会出现。 ScrollRect 滚动视图有一个名为滚动矩形(ScrollRect)的组件,滚动矩形有以...
2018-09-15 09:03:05
1653
原创 Unity的自动布局
Unity的自动布局系统(Auto Layout)基于布局元素(Layout Element)和布局控制器(Layout Controller)来实现,布局元素的大小由布局控制器决定。Layout Element 一个布局元素定义了以下的属性:(Minimum)最小宽/高 (Preferred)首选宽/高 (Flexible)可选宽/高 ...
2018-09-15 08:56:35
1994
原创 函数调用
同步(Synchronous) vs 异步(Asynchronous)回调函数:调用者通过callback function,让被调用者做调用者想做的事情。
2018-08-30 19:25:12
143
原创 Unity的动画系统
动画窗口动画窗口(Animation Window)可以让你创建自己的动画序列或者观看导入的动画序列。动画窗口有一个时间轴,时间轴上的数字对应的是时间(例如,0:30表示0分30秒,1:15表示1分15秒)。时间轴有两种可视化模式,Dopesheet和Curves。Dopesheet模式下,可以看到时间线上每一个关键帧的GameObject及其特性。 Curves模式下,GameObje...
2018-07-31 09:40:58
351
原创 Unity的坐标系
本文介绍了Unity中的几种常用坐标系以及坐标系之间的转换方法,并在文末附上一个展示各种坐标系数据的Demo。1. 世界(局部)坐标系以世界原点为坐标原点建立的三维坐标系,获得GameObject世界坐标的接口为Transform.position 。局部坐标系是GameObject以Parent的世界坐标点为坐标原点建立的三维坐标系,GameObject的局部坐标即与Parent的...
2018-07-14 15:52:22
1116
1
原创 TortiseGit/TortoiseSVN
TortiseGitGit 出现SSL certificate problem: self signed certificate的解决方法如何取消一个目录的git初始化Gitlab配置SSH连接github 或者gitlab 设置添加SSH, 避免每次提交重复输入用户名git学习——设置gitlab、github默认push的用户名和密码git生成ssh key及本地解决多...
2018-06-06 21:12:03
541
原创 Large Pose 3D Face Reconstruction from a Single Image via Direct Volumetric CNN Regression
ICCV 2017 的文章,用CNN回归的方法基于单张图片重构三维人脸。贡献点:可以根据图片直接重构出三维人脸(不需要三维形变模型)可以由任意姿态、表情、有遮挡的人脸图片重构出三维人脸训练的数据集包括人脸图片以及对应的三维人脸模型,其中,三维人脸数据由三维形变模型匹配人脸图片得到,数据集和匹配算法参考以下文章:Face alignment across large poses: A 3D solu...
2018-05-02 18:23:11
486
原创 C++内存管理
C++ 内存中栈与静态区大小的问题Windows内存管理 - 内存映射文件C++内存管理(超长)C语言的字节对齐及#pragma pack的使用
2017-12-15 09:57:48
215
原创 Qt 5.10 文档
环境OpenCV与Qt的环境搭建及DemoHunger:实验室的编译器用 Desktop Qt 5.10.0 MSVC2015 64bit2Qt Creator在Windows上的调试器安装与配置(无法打开包括文件: “corecrt.h”: No such file or directory)【Qt开发】qt中涉及到空格包含路径的解决办法
2017-12-07 16:27:07
1698
原创 Lua学习笔记
Lua的局部变量的作用域从声明位置开始到所在语句块结束。 对于表t,t['idx'] 等价于 t.idx,需要注意的是,t[idx]跟前面两者不一样。冒号 vs 点号函数定义a:fun()等价于a.fun(self)a:fun(var)等价于a.fun(self, var)使用冒号定义时参数列表里第一个参数为隐藏的self。函数调用a:fun()等价于...
2017-08-18 20:56:57
438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人