- 博客(64)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 实战配置ubuntu下的vim开发环境
因为想在linux环境下开发网络程序,所以装了个ubuntu,很早就听说用vim来写程序效(zhuang)率(bi)很(li)高(qi),所以即使在linux上已经有了诸如Netbeans,VsCode,等编辑器,有CodeBlock这样的IDE,我还是去装了一个Vim。果然如传言一样,Vim是个高级货,光安装配置就花了不少时间。在我的安装过程中,我也上网查了不少资料,但几乎没有一篇文章是能完全解决
2018-01-04 18:01:55
23909
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 亲历H5移动端游戏微信支付接入及那些坑(一)——支付方式与坑
最近项目进入中后期,开始接入支付。要求是使用微信支付,呵呵,好笑的是不知老板从哪里听来的,居然和我说只要是熟手,接个微信支付两小时搞定,我只能再次呵呵。先不说支付处理逻辑,而且公司本来也没现成的接入模块,再加上我对国内SDK的文档水平,我只能说,前途必定是暗坑无数,还两小时,除非是有现成接入模块,外加不用写支付后处理逻辑,配配参数了事的那种,否则哪有那么简单。(如有大神两小时内从无到有做完整个接入,
2017-07-24 13:10:20
44525
12
翻译 PhysX4.0中文用户手册——角色控制器(一)
介绍角色控制器(CCT)SDK是一个构建在PhysX SDK基础之上的外部组件,拥有和PhysXExtensions类似的机制CCT可以有多种实现方式:PhysX只实现其中一种。 从本质上讲,CCT通常是基于游戏定制化的,并且它们在每个游戏中具有一些独具的功能。 例如,角色的包围体在一个游戏中是胶囊体,而在另一个游戏中可能是倒金字塔形。 CCT无法提供一种通用的为所有的游戏提供可能...
2019-02-23 13:00:05
2018
原创 完全理解Unity预计算全局光照及其优化(二)
上一篇介绍了许多预计算全局光照涉及的概念,那么本篇就将介绍这些概念的具体的用途,以及相关的优化方法。实际使用中,预计算全局光如果不进行优化的话,往往会让编辑器耗费大量的时间,甚至长时间没有反应。那么对GI进行优化,加快其烘焙效率,同时也能对运行时的性能造成影响。在Unity中,对预计算全局光照的设置分为两部分。一种是对整个场景进行的设置,通常就是我们在lightmap setting窗口中看到的相...
2018-06-12 22:45:07
2507
原创 完全理解Unity中PreCompute Realtime GI及其优化(一)
Unity作为目前最流行的游戏开发引擎,在移动端也提供了良好的光照效果,帮我们构建更加真实的游戏场景。我们知道,一个游戏场景的真实与否,效果是否出色,有一部分来自光照。逼真的光照,总能表现出令人赞叹的效果。但要完全模拟现实中的光照,对CPU来说却是一件不可能完成的任务。通常,我们会使用一些方法来近似模拟这些效果。比如烘焙光,光照贴图,阴影贴图等。 在Unity中的预计算全局光照有两种,烘...
2018-06-03 09:59:27
4923
3
转载 解决低版本Xcode不支持高版本iOS真机调试的问题
今天在做真机调试的时候,遇到下面的一个问题: Could not locate device support files. This iPhone 6s is running iOS 11.1 (15B93), which may not be supported by this version of Xcode.123123上面的意思是,在调试前我将我手机的iOS系统 升级到了最新版11.1...
2018-05-17 19:03:06
8519
原创 Ctags与taglist的使用
最近刚换工作,有点忙,很久没有写东西了,就先写一点关于Ctags的使用的方法总结。我想陆续把vim的一些使用方法都记录下来,虽然现在IDE很多了,但有时还是有使用到vim的需要的,有些环境比如OSX,其中的终端也可以使用一些vim的插件,甚至vim,可以提升一些效率。但是vim的插件实在太多,命令也是五花八门,所以一一解释学习是不可能的,所以我打算做长期更新,也就是如果在工作学习中发现了实用的方法...
2018-03-25 11:47:46
5280
转载 zigzag数组:输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组
同样是找规律的螺旋队列见这个帖子。面试题目:输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组(JPEG编码里取像素数据的排列顺序),请问如何用C++实现?(中国台湾著名硬件公司2007年11月面试题)(自程序员面试宝典第四版92页)看了网上的好几篇文章,由于本人 愚钝,未...
2018-02-20 11:35:28
600
原创 Unity进阶修炼之路(3)——光照:下篇
阴影有光必有影,阴影是由于光照到遮挡的物体然后投射到另一个物体表面形成的。关于在unity中投射阴影的条件,可以参看上篇的插图阴影暗斑 来看这两张图,左面的是正确的光照阴影,右边的圆柱体顶部,产生了细小的斑痕,但这是不正确的。该圆柱体顶部应该是光滑的,并不可能出现这样的斑痕。造成这种现象的原因,涉及到我们先前提过的Shadowmap,在阴影贴图中保存的是远近位置的深度信息,当使用
2018-02-01 15:52:22
1583
原创 Unity进阶修炼之路(2)——光照:上篇
Unity关于光照这部分的说明在知识点顺序上有点乱,也许并没有考虑的不同水准的读者,所以我打算写这样一篇博文,将其知识点重新整理下,希望能够帮大家了解和掌握相关的光照知识。文中我会以我的理解来解释一些概念,并不会非常严谨的遵循一些专业术语,或是度娘的解释,我觉得专业解释网上够多了,我的本意是希望大家能理解和搞懂这些概念,而非咬文嚼字。同样,本文不涉及具体的对这些光照技术在unity中应用操作,具体
2018-01-31 18:37:40
1720
转载 跟我一起学习VIM - vim插件合集
前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程。虽然准备有限,但分享过程中大家大多带着一种惊叹的表情,原来编辑器可以这样强大,这算是对我多年来使用VIM的最大鼓舞吧。所以分享结束之后,将这篇简短教程整理一下作为我2014年的第一篇Blog。目录写在前面:Life Changing Editor什么是VIM为什么选VIM为什么选其它为什么犹豫选择它
2018-01-04 20:53:32
454
1
翻译 Cg语言中文说明文档(五)
赋值表达式赋值到具体类型对象时,将表达式转换为该类型的对象,表达式的结果值被复制到该对象中。赋值表达式(=,*=等)和C中定义的一致 一个赋值表达式在赋值后,有给予左值的值,但却不等同于左值。赋值表达式的类型是左值的类型,除非左值有一个修饰符。在这种情况下,赋值表达式的值是其对应的未修饰版本的值类型。更新左值产生的边界效应将发生在先前和接下来的指令序列之间。一个动态类型的赋值表达式,
2017-11-06 11:11:24
664
转载 OpenGL 的空间变换(下):空间变换
通过本文的上篇OpenGL 的空间变换(上):矩阵在空间几何中的应用,我们了解到矩阵的基础概念。并且掌握了矩阵在空间几何中的应用。接下来,我们将结合矩阵来了解 OpenGL 的空间变换。在使用 OpenGL 的应用程序中,当我们指定了模型的顶点后,顶点依次会变换到不同的 OpenGL 空间中:世界空间模型空间(也称为对象空间)视图空间(也称为视点空间、摄像机空间)裁剪空间标准设备坐标空
2017-11-01 10:56:35
1357
转载 OpenGL 的空间变换(上):矩阵在空间几何中的应用
在使用 OpenGL 的应用程序中,当我们指定了模型的顶点后,顶点依次会变换到不同的 OpenGL 空间中,最后才会被显示到屏幕上。在变换的过程中,通过使用矩阵,我们更高效地来完成这些变换工作。本篇博客主要介绍的是矩阵以及矩阵在空间几何中的应用。关于 OpenGL 空间,我把它们安排在了另一篇博客OpenGL 的空间变换(下):空间变换中来介绍。本篇博客主要分为两部分:矩阵基础和矩阵在空间
2017-11-01 10:55:07
503
转载 VS2015update2环境下DirectX11编程说明
本文索引:一 关于龙书二 在vs2015u2环境下编写DirectX11程序三 关于MSDN帮助文档四 官方示例项目五 自己尝试编写一个小项目1 创建一个win32项目2 配置依赖库3 添加源文件4 完成六 总结一、 关于龙书相信很多看想要学习DirectX编程的小伙伴都有听说过龙书,也就是官方推出的《Introduction to 3D Game Pr
2017-10-30 15:18:34
954
转载 [VS Code]跟我一起在Visual Studio Code 添加自定义snippet(代码段),附详细配置
Add code snippets for CLANG in VS Code日志:2017.10.11 VSCode 自 v1.17 起,其代码段引擎开始支持变量转换(variable transformations)特性,变量的值可以经过格式化处理后,再插入预定的位置。这是一个很强大的特性。另外,也不知道从什么时候开始,VSCode 开始支持 Choice 了。本次更新即旨于介绍
2017-10-26 17:51:17
4397
2
转载 UnityShader屏幕特效之Bloom
版权声明:本文为博主原创文章,如需转载请指明出处http://blog.csdn.net/u011047171目录(?)[+]Bloom特效概述 Bloom,又称“全屏泛光”,是游戏中常用的一种镜头效果,是一种比较廉价的“伪HDR”效果(如下右图);使用了Bloom效果后,画面的对比会得到增强,亮的地方曝光也会得到加强,画面也会呈现一
2017-10-26 14:52:26
1930
转载 Unity shader学习之屏幕后期处理效果之Bloom效果
Bloom特效是游戏中常见的一种屏幕效果。这种特效可以模拟真实摄像机的一种图像效果,它让画面中较亮的区域“扩散”到周围的区域中,造成一种朦胧的效果。Bloom的实现原理很简单,首先根据一个阈值提取出图像中较亮的区域,把它们存储在一张渲染纹理中,再利用高斯模糊对这张渲染纹理进行模糊处理,模拟光线扩散的效果,最后再将其和原图像进行混合,得到最终的效果。转载请注明出处:http://www.cn
2017-10-26 14:48:18
1521
转载 Markdown 语法大全 包括设置字体 颜色
目录(?)[+]markdown语法实例 [TOC] 生成目录1markdown语法实例强调分割线引用标题Setext方式大标题小标题标题Atx方式一级标题二级标题三级标题四级标题五级标题六级标题无序列表有序列表嵌套列表文字超链Inline方式图片超链索引超链Referen
2017-10-20 16:16:45
1169
翻译 Cg语言中文说明文档(四)
类型int整型适用于32位二进制补码。Profiles可以选择将整型看作float浮点类型。 unsigned无符号整型适用于32位顺序型。unsigned可以和其他整型一起形成不同长度的无符号类型。char,short,long都是二进制形式整型的不同长度的类型。唯一需要说明的是,char不能长于short,short不长于int,long至少要和int一样长。浮点类型和IEEE标准的32
2017-10-19 15:12:56
1516
1
翻译 Cg语言中文说明文档(三)
语法每个声明中的声明符可以选择一个指定的语法,语法指定了变量如何在程序运行时连接到环境。所有的语法都是profile指定的,虽然有一部分尝试跨profile组成,但他们在不同的profile中拥有不同的意思。每个profile规范必须指定一系列profile可以理解的语法,以及当profile没有指定的语法的时产生的行为函数声明在C中函数声明是必须的。没有返回值的函数必须被声明为voi
2017-10-12 11:26:27
593
翻译 Cg语言中文说明文档(二)
声明及声明修饰符Cg程序有一系列的声明构成,每个声明由一个或多个函数或变量构成。每个声明,有零个或多个声明修饰符,类型,一个或多个声明组成。一些修饰符和标准C一样,一些是Cg中特有的const变量被定义成常量的话,在程序中,就不能再对该变量赋值,除非const和uniform,varying一起使用。const修饰的变量,需要在声明时给予一个初始值externextern表明声
2017-10-11 11:02:58
833
原创 EF6存储错误的解决
最近使用EF的时候,前端程序员反应数据库运行一旦时间会发生一个存储错误,查看日志后,发现是EF抛出的异常,具体异常消息为“The object cannot be deleted because it was not found in the ObjectStateManager”经过调试,发现是对EF6中的DbSet调用RemoveRange函数时抛出的异常。让人很头痛,也没有精力去研究EF
2017-09-30 11:10:19
1313
1
转载 UGUI研究院之SpritePacker打包教程
上篇文章说了UGUI上图集的使用,这一篇继续看看SpritePacker怎么打包图集。我觉得我们有必要对比一下NGUI的图集,NGUI在打包图集的时候图集的默认格式是RGBA32,也就是支持带透明通道的图片,这样一张1024的图集也就是4M内存。为了优化图集,我们可以选择把带透明通道图片 和 不带透明通道的图片分开打图集,这样可以减少内存的占用量。然而着一切的一切在NGUI上都需要手动操作,而
2017-09-25 15:36:03
2009
1
原创 EntityFrameWork数据迁移——暨改变数据库结构的方法
EntityFramework在对数据迁移时的支持并不好,现在到了6.3版本以后,Model-First的方法也被抛弃,而Code-First的方法更多的是针对首次建立数据模型的情况。一旦想要修改现有的数据库表结构,对数据库进行迁移(升级)就会遇到各种问题。在使用EF进行数据迁移时,如果我们修改的不是主键的话,那还是比较简单,增,删减字段,都是可以的,但仍旧需要打开EF的自动合并。具体方法如下:
2017-09-19 18:04:51
2495
转载 Base64编码简介
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个位元为一个单元,对应某个可打印字符。三个字节有24个位元,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。一些如uuen
2017-09-04 17:32:02
419
原创 Cocos Creator使用VS Code调试方法
最近公司项目用Cocos做H5,我也就突然有用Cocos来做一个ios的手游的想法,Unity用惯了,想拓展下。结果么,用的我吐槽一大堆。首先就是Cocos的调试,太不方便了,看官方文档,也是讲的一点都不清楚,还是自己百度加摸索才解决。(一)Cocos如果要使用模拟器或是本机调试,首先你要安装VS Code插件。 如图位置,点击后会将cocos的vs code指定插件安装到指定位置(当然忘了说
2017-08-22 19:39:13
33864
3
原创 Unity进阶修炼之路(一)——MonoBehaviour
其实我也不知道自己打算写一系列Unity相关的教学文章是否有意义。因为现在网上教学太多了,而我也曾在unity4x的时候,就尝试写过,但最后不了了之。现在Unity2017出世,我又萌发了写这样一系列文章的念头。到不是特意想写个教程,只是想乘这个机会把相关的知识整理下。好吧,既然没有想写成教程,所以不会写的面面俱到,有些大家都清楚的,或是文档都有的东西就不会拿来写了,我会挑一些我觉得有必要拿来
2017-08-17 19:51:48
1013
翻译 Entity FrameWork乐观并发模式
乐观并发关系到乐观的尝试将entity保存到数据库时,希望entity数据在读取之后,没有被改变过。如果数据被改变过,将会抛出一个异常,而你必须在尝试再次保存前解决这个冲突。本篇涵盖了如何在EntityFrameWork中处理这样的异常。本篇涉及的技术在对于使用Code First或是EF Desinger来创建模型时是同样适用的本篇并不适合讨论乐观并发,后续内容中假定读者有一定的并发解决方案和通常
2017-08-16 21:06:21
1831
转载 关系型数据库知识小结
一、基础术语DML(data manipulation language):如SELECT、UPDATE、INSERT、DELETE,主要用来对数据库里的数据进行操作的语言DDL(data definition language):主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,大多在建
2017-08-16 17:21:23
307
转载 关系型数据库与非关系型数据库
当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。非关系型数据库有 NoSql、Cloudant。nosql和关系型数据库比较?优点:1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜。2)查询速度:n
2017-08-16 17:20:21
394
原创 再谈非重复随机序列号生成算法
这段时间项目中又要开发兑换码功能,此前的项目已经开发过,但是为了保证这个功能在将来的可重复利用,我决定重构一下相关模块。原来的模块不是我开发的,但也已经可以完成这个要求。但其中存在两个问题,这也是基本上非重复随机序列生成算法都要面对的问题 (1)是非重复性 (2)是效率我们原来的程序员开发的,是使用的最低效的方式,即随机生成后,遍历已经生成的所有随机序列号,如果重复则放弃这组随机序列号,重新生成
2017-08-16 11:51:23
2242
转载 非重复随机序列生成算法
最近编程时遇到一个问题:有一组对象,要求随机地访问其中每一个对象,并且每个对象只访问一次。如果我们将访问顺序转换为一组整数序列,那么这就是一个关于“非重复随机序列生成算法”的问题。本文将探讨这个问题的多种解法,并给出一个非常高效的算法。 【问题描述】:有一个自然数N,希望得到一个整型序列,该序列包含N个整数,从0到N-1,呈随机分布状态,且不重复。 【问题分析】:生成随机数是简
2017-08-12 14:11:57
886
转载 值得推荐的C/C++框架和库
值得学习的C语言开源项目- 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz
2017-08-10 23:40:36
306
原创 亲历H5移动端游戏微信支付接入及那些坑(四)——参考文档
写完三篇后,我觉得微信支付的文档确实比较乱,所以在此做一个整理汇总支付流程相关文档一下文档已经按照接入顺序排列,请依次参考阅读微信公众号网页授权两种access_token区别,获取用户openid方式 微信支付前端JSSDK接入 微信内公众号支付(JSAPI方式)统一下单 微信内公众号支付(JSAPI方式)支付通知相关验证工具微信支付接口签名验证工具,用户统一下单支
2017-08-09 13:07:37
1055
原创 细说UGUI中Anchor和Pivot(一)
背景相信刚接触UGUI的时候,这套新系统中RectTransform里的position,anchor,pivot一定让大家有点迷糊不适应吧。因此就想详细介绍一下这几个概念,之所以标题中没有提position,是因为主要还是以介绍Anchor和Pivot为主,position会带过介绍概念锚点AnchorAnchor就是一个RectTransform相对于其父节点在父节点中固定的几个参考点。可能我的
2017-08-03 20:53:13
13595
2
转载 也说C#中的Immutable
摘要:本文从String开始,由浅入深地阐述了作者对Immutable的见解。并结合C#语言的不同版本探讨了Immutable的不同实现方式。Keywords:C#,immutable class,immutable field,System.String,readonly,const,Anonymous Type 有一种很简单也很受用的编程(不仅仅是C#)宗旨,就是所谓的"Imm
2017-08-02 20:40:50
1448
1
原创 微信接入之获取用户头像
前段时间写了关于微信支付接入,顺便就把获取用户昵称,头像的方式也归纳下,这个其实挺简单的,具体的方法看官方文档即可。这里只提几个重点。scope参数看过微信文档的话,微信的规定是,对于scope参数,如果需要获取用户信息的话,scope参数为snsapi_userinfo。但是我下来,实际上用snsapi_base也可以获得用户信息,一模一样的返回值,对于获取头像和昵称完全没有任何问题获取头像获取头
2017-08-01 16:11:15
27236
原创 亲历H5移动端游戏微信支付接入及那些坑(三)——支付接入
终于到接入支付了,小小的一个微信支付,居然也写了3篇,好长,好累。接入环境对接入环境,前端的话,应该是以JS为主吧,也有可能是,PHP,JAVA,C++,或者C#都可以。为什么在此特意提一下接入环境呢,是因为这里又有一个小坑(真是对国内的SDK文档无力吐槽了,接过大大小小无数的SDK,没有几个坑基本是不可能的,微信这种算大厂了,文档整理的依旧和屎一样)。首先,如果你是按照正常流程,从其
2017-07-31 09:57:37
4227
原创 .Net调试内存泄漏不断增长小记——SocketAsyncEventArgs
现象用C#异步方式实现的网络底层协议,开发的服务器。上线运行一段时间后,发现一开始内存非常稳定,但是过了一定时间后,内存使用量会开始不停的上涨。直到内存耗尽。排查遇到这一问题可以明确的是内存发生了泄漏。由于.Net中,托管对象的内存是由垃圾回收机制负责回收的。所以存在内存增长的情况,往往不是因为没有释放。而是有几种原因分配的内存,比垃圾回收的还要快对象存在引用,没有办法被垃圾回收机制回收。对于
2017-07-28 15:25:35
5643
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人