2016年8月11日

Google Protocol Buffer 的编码方式

摘要: Google Protocol Buffer 使用到了两种编码方式:Varints 和 zigzag。 一 Varints 编码 每个 byte 只用 7bit 表示数字,最高位 bit作为标志位,如果为: 1,表示后续的 byte 也是该数字的一部分; 0,表示结束。 因此值越小的数字使用越少的字 阅读全文

posted @ 2016-08-11 16:48 寒灬风 阅读(494) 评论(0) 推荐(0) 编辑

2016年7月25日

OpenGL数学基础之矩阵

摘要: 三维空间物体的运动使用变换来表示,包括三种:平移变换(translate),旋转变换(rolate),伸缩变换(scale),变换量可以使用4x4的矩阵(Matrix)表示,变换过程就是对物体的所有顶点都乘以这个矩阵。 矩阵乘法 $ \begin{bmatrix} 1 & a & b \\ c & 阅读全文

posted @ 2016-07-25 00:13 寒灬风 阅读(396) 评论(0) 推荐(0) 编辑

2016年7月21日

OpenGL中的坐标系和变换

摘要: 坐标系 模型坐标 模型坐标是以物体某一点为原点而建立的坐标系,该坐标系仅对该物体适用,用来简化对物体各部分坐标的描述。物体放到场景中时,各部分经历的坐标变换相同,相对位置不变,所以可视为一个整体,与人类的思维习惯一致。 世界坐标 世界坐标系以屏幕中心为原点(0,0,0)。你面对屏幕,你的右边是x正轴 阅读全文

posted @ 2016-07-21 15:55 寒灬风 阅读(610) 评论(0) 推荐(0) 编辑

shader中数据传递

摘要: shader的使用流程 1. 编写vertex Shader和fragment shader源码。 2. 创建两个shader 实例:GLuint glCreateShader(GLenum type); [gl.createShader] 3. 给Shader实例指定源码。 glShaderSou 阅读全文

posted @ 2016-07-21 15:55 寒灬风 阅读(1612) 评论(0) 推荐(0) 编辑

2016年7月18日

Android和iOS设备中的纹理压缩

摘要: 移动设备内存有限,为了节省内存,一般都会对贴图进行压缩。 一张4MB的贴图,在移动设备中压缩之后只有1/8,也就是0.5MB。 假如有一张1024px 1024px的4通道(RGBA8888,每个通道都为8bit)贴图。 一般来说,一张纹理所占用的内存的计算方式为长乘以框再撑每个像素的比特数,计算公 阅读全文

posted @ 2016-07-18 15:21 寒灬风 阅读(5908) 评论(0) 推荐(0) 编辑

2016年7月11日

MMORPG游戏AOI解决方案

摘要: 接下来打算做一个国战类的MMO手游,国战类手游首相要解决的就是多人同屏AOI问题。稍微看了一下主流的解决方案,做个简单的记录。 目前最常见的是有两种解决方案,九宫格和十字链表。 一 九宫格 主要思路是讲场景地图分成多个格子,每个格子记录其周围的格子信息。 1 进入 角色进入场景,根据其坐标,将其置于 阅读全文

posted @ 2016-07-11 19:49 寒灬风 阅读(5826) 评论(0) 推荐(0) 编辑

2016年7月5日

读薄经典——《程序员修炼之道》

摘要: 第一章 Provide Options,Don't Make Lame Excuses. 对自己承担的事情负责 麻烦别人之前先问自己是否能解决 Don't Live with Broken Windows 不要把发现的‘破窗’(低劣设计、错误决策、糟糕代码)留在软件中 Be a Catalyst f 阅读全文

posted @ 2016-07-05 19:47 寒灬风 阅读(199) 评论(0) 推荐(0) 编辑

2016年5月12日

ARPG游戏中怪物AI实现

摘要: 目前项目组正在做的是一款ARPG于MMO结合的游戏,下面游戏中AI实现的方式。 一 AI配置 1 配置说明 AI配置使用python脚本,实现方式上使用伪行为树的结构,实现约定好关键字的意思,结构如下: 然后在Monster对象中实现对应方法即可。 阅读全文

posted @ 2016-05-12 09:50 寒灬风 阅读(828) 评论(0) 推荐(0) 编辑

导航