自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (3)
  • 收藏
  • 关注

原创 俄罗斯方块(2018网易游戏校招补招第三题)

题目小M最近迷上了一款叫做《俄罗斯方块》的游戏。与传统的俄罗斯方块不同,这个游戏是在一个由六边形格子组成的棋盘上进行消除,棋盘的形状如下图所示。 玩家需要将游戏提供的方块放置在棋盘上,方块是由互相连接的六边形格子组成的,例如下图便展示了部分方块的形状。 游戏开始时棋盘为空,每个回合游戏提供一个方块,玩家将其放在一个合法位置(方块不能旋转)。合法是指这个方块可以放在棋盘上,组成其的每一个六边

2017-12-09 20:35:23 3733 1

原创 NTES 网易游戏笔试题(2018实习笔试题第二题,2018秋招补招第一题)

题目NTES是网易在纳斯达克股票市场的代号,在财报公布后,NTES的股价接连大涨,创下了历史新高。 下面,我们用四个5x7的点阵来描述NTES这代号。##....##.#...##..#..##...#.##....#########...#......#......#......#...########......########......###############

2017-12-09 17:06:30 1816

原创 Unity3D 学习笔记(一)

前言6月底开始学习Unity3D,断断续续,算是开始入门了. 相比于cocos2d-x,在用Unity3D写游戏时,在界面上用编辑器拖拉修改,而且可以实时查看效果,但cocos2d-x需要用代码去设计,而且每次查看修改后的效果都需要重新编译运行,十分耗时;此外,Unity3D,使用C#脚本(还有JavaScript)来编写逻辑,逻辑编写效率很高,而且不需要去担心C++里恼人的内存管理工作. 总之

2017-07-08 14:52:28 1024

原创 括号匹配

源自2017.3.17参加网易游戏实习面试时的面试题,题目为:给定N对括号”()”,有多少种合法的匹配方式?简单递归当时的思路:递归,设定两个初始变量leftL,leftR,分别表示,当前还剩下的左右括号数目,如果左右括号数均为0,那么表示匹配完毕;否则,当前选择左括号,leftL - 1,进入下一层递归,当前选择右括号,leftR - 1,进入下一层递归,两者的匹配数目相加即可! 边界情况:le

2017-07-03 18:42:00 710

原创 std::unordered_map(提供自己的Hash函数和等价准则)

在使用容器std::unordered_map< key, value >时,当key是内置类型或者std::string时,容器都能正常使用,而且由于查找时间为O(1),在编程时,特别适合充当hash_table来使用。如果key是自定义类型时,直接使用std::unordered_map,编译时会报错,错误信息为:”error C2338: The C++ Standard doesn’t pr

2017-07-03 15:44:08 22194 3

原创 递推公式的特征方程及通项公式

问题: 递归公式F(N) = F(N-1)+ F(N-2),F(N)的特征方程为:x^2 = x + 1.该递归公式即斐波那契数列,但其特征方程是怎么求得的,却不明白,于是查找了一些资料,总结如下.首先,回顾高中数列相关的内容,如下, 求该数列的通项公式,过程如下, 这样求,虽然结果正确,但过程繁琐,很容易出错;有一种新的方法求解递归公式的通项公式,即使用递归公式的特征方程求解递推公式的通

2017-06-30 11:13:56 24179 2

原创 华为机试(仿LISP字符串运算)

[编程|300分] 仿LISP字符串运算 时间限制:3秒 空间限制:32768K 题目描述 LISP语言唯一的语法就是括号要配对。 形如 (OP P1 P2 …),括号内元素由单个空格分割。 其中第一个元素OP为操作符,后续元素均为其参数,参数个数取决于操作符类型 注意:参数 P1, P2 也有可能是另外一个嵌套的 (OP P1 P2 …) 当前OP类型为 quote / rever

2017-06-28 22:55:50 5052 2

转载 模板成员函数为什么不能是虚函数

转载: http://blog.csdn.net/jcwkyl/article/details/3771059《Thinking in C++》volume 2第五章有这么一句话: Member template functions cannot be declared virtual.Current compiler technology experts to be able to deter

2017-06-23 19:14:05 959

原创 cocos2dx 打包android遇到的问题和解决方法

6.5~6.15这一段时间,自己将去年实习期间做的单机斗地主,重新写了一次,主要是修改界面(增加大厅),修改代码结构(界面和游戏逻辑解耦),还存在一些BUG,日后有时间再做修复,工程地址:https://github.com/Kocola/DouDiZhu-v2.0在最后将工程打包成android安装包时,遇到了很多的问题,这里做一个简单的记录(本来上周就应该记录的,无奈事情太多).1.androi

2017-06-21 20:34:35 1958

原创 Cocos2d-x extensions库使用问题解决

去年在边锋实习,入职后一个月学习Cocos2d-x游戏引擎,并制作了一款简易的单机斗地主游戏,实习阶段美术给了自己不少的素材,正好前几天LearnOpenGL教程基础部分都实践完了,想将单机斗地主游戏重构一下,加入一个大厅.昨天遇到一个问题,在加入ControlSlider组件时,在头文件中加入#include "cocos-ext.h"后,一直会报错如下:错误 9 error C1083:

2017-06-07 14:23:25 817

原创 延迟渲染中光源的体积光(Light Volumn)

这两天在整理LearnOpenGL教程中延迟着色部分的内容,在3月份看Unity Shader入门精要这本书,涉及到这个内容,当时仅仅是一扫而过,没有注意,这两天的学习让自己对前向渲染和延迟渲染有了一个直观的认识.教程中提及了光体积(Light Volumn)的概念和使用技巧,但是并未给出示例代码,自己在查阅资料整理出了该部分的代码,作为记录,同时希望可以帮助在这里卡壳的童鞋.参考的链接: 1.L

2017-06-02 23:41:45 2978 4

原创 视差贴图(Parallax Mapping)

视差贴图(Parallax Mapping),自己在月初就看了教程,开始看了很久都没有看明白,上周看时感觉自己弄明白了,在昨天和今天真正用代码去实现时,发现子所谓的”明白”,实际上还是半知半解. 正是自己这么久的时间才真正开始理解这个概念,现在对此做一些总结,如果有同样遇到问题的童鞋,希望可以这篇博客能够帮助你理解视差贴图.参考的链接: 1.视差贴图(Parallax Mapping) 2.视

2017-05-30 21:56:10 10133 2

原创 法线纹理实现过程问题记录

昨天和今天在看法线纹理相关的内容,具体内容可参见法线纹理教程链接,在这个过程中,遇到一些问题,在此记录一下这些问题,避免以后再次出现类似的问题. 问题1:对glVertexAttribPointer函数参数理解错误 参见下述代码, GLuint VAO; glGenVertexArrays(1, &VAO); glBindVertexArray(VAO); auto

2017-05-29 15:53:49 544

原创 欧拉角万向节锁问题

这两天一直纠结在欧拉角的万向节锁问题上,查了很多资料,可是依旧没有完全弄懂这个问题,引用《3D数学基础:图形与游戏开发》一书中的一句话,”如果您从来没有遇到过万向锁情况,你可能会对此感到困惑,而且不幸的是,很难在本书中讲清楚这个问题,你需要亲身经历才能明白。”,认为这个确实需要在以后的实践过程中遇到这个问题时,才会理解地更加透彻. 虽然没有完全弄明白,但还是有一点总结: (1)万向节锁问题,和具

2017-05-28 01:38:54 3054

转载 四元数(Quaternion)和旋转

转载:http://blog.csdn.net/candycat1992/article/details/41254799四元数介绍旋转,应该是三种坐标变换——缩放、旋转和平移,中最复杂的一种了。大家应该都听过,有一种旋转的表示方法叫四元数。按照我们的习惯,我们更加熟悉的是另外两种旋转的表示方法——矩阵旋转和欧拉旋转。矩阵旋转使用了一个4*4大小的矩阵来表示绕任意轴旋转的变换矩阵,而欧拉选择则是按照

2017-05-28 00:08:59 642

转载 github常见操作和常见错误

转载:http://blog.csdn.net/dengjianqiang2011/article/details/9260435    如果输入$ git remote add [email protected]:djqiang(github帐号名)/gitdemo(项目名).git     提示出错信息:fatal: remote origin already exists.

2017-05-23 15:35:34 348

原创 DEBUG和RELEASE版本需分别设置附加lib文件

在做一个OpenGL的简单的demo,DEBUG模式下编程成功,运行也没有问题,然后想直接打开DEBUG模式生成的exe文件,结果运行出错,如下图: 猜测可能是DEBUG版本不能直接运行(事实证明不是这样),于是打算编译获取RELEASE版本运行,在VS2013里切换成RELEASE模式后,编译出错,出现大量的”…无法解析的外部符号…”.想到以前看到有说RELEASE和DEBUG模式所需的li

2017-05-23 14:18:24 2466

原创 帧缓冲对象-实践过程问题及解决

自从面试腾讯实习生结束后,一直在学习OpenGL,以前断断续续学过,但是主要的参考材料是 < < OpenGL 编程指南(第八版) > >(俗称红宝书)以及网络上零零碎碎的博客,去年在创业公司实习时,也学过,但是学习的效果一直都比较差,学到最后,只能知道渲染管线,顶点数组,光照等等,着色器只会最简单的,可以说,毫无竞争力.总结下来,主要是参考的资料不对,红宝书固然好,但不适合初学者,初学者还是需要一

2017-05-21 12:44:50 1030

转载 boost源码剖析之:泛型编程精灵type_traits(rev#2)

boost源码剖析之:泛型编程精灵type_traits(rev#2) 刘未鹏C++的罗浮宫(http://blog.csdn.net/pongba) 动机使用traits的动机一般有三种,分派、效率、使某些代码通过编译。 分派下面有一个模板函数,假设一个动物收容组织提供了它,他们接受所有无家可归的可怜的小动物,于是他们向外界提供了一个函数接受注册。函数看起来像这样: templ

2017-05-18 10:20:30 345

原创 C++ 简易string类实现(六)-真正的写时复制

在C++ 简易string类实现(二)-引用计数中,我们引入了写时复制(copy on write),但因为C++编译期无法告诉我们operator[]是被用于读取或写,出于安全,这里假设对non-const 的operator[]的调用都是写操作,这样虽然能够正常运行,但是诸如下面的代码:String str1 = "123";std::cout << str1[2]; //读操作str1

2017-05-18 06:46:56 808

原创 C++ 简易string类实现(五)-进一步抽象

前四篇所叙述的没一件事情,都必须动用到我们感兴趣的那个class的源代码.但如果我们想要将reference counting施行于程序库中一个名为Widget的class呢?程序库的行为不是我们可以更改的,所以没办法让Widget继承自RCObject,也就无法对Widget使用smart RCPtrs.但只要稍微修改设计,我们就可以为任何类型加上reference counting能力.首先,让

2017-05-17 21:41:58 543

原创 C++ 简易string类实现(四)-自动操作引用次数

在 C++ 简易string类实现(三)-抽离引用计数中,RCObject class给了我们一个放置引用次数的空间,也给了我们一些member functions,用来操作引用次数.然而,这些函数的调用动作还是一定得由我们手动式地安插到其它class内.并且还是有劳String copy constructor和String assignment operator调用StringValue对象所提

2017-05-17 12:06:51 389

原创 C++ 简易string类实现(三)-抽离引用计数

在C++ 简易string类实现(二)-引用计数里我们在String类实现里加入了引用计数,从而有效地实现了字符串的共享,降低内存消耗,提升了代码的执行效率.引用计数(RC)不仅可以用于字符串,任何class如果其不同的对象可能拥有相同的值,都适用此技术.然而重写class以便运用引用计数(RC),可能是一个大工程,我们中的大部分人该做的事情还有很多.如果我们能够在一个与外界无任何关联的环境下撰写引

2017-05-17 09:08:01 399

原创 C++ 简易string类实现(二)-引用计数

引用计数(reference count),允许多个等值对象共享一个实值,此技术的发展有两个动机.第一,简化heap object的簿记工作,在程序执行过程中,对象的拥有权可以会转移,记录对象的拥有权不是一件简单的事情,其次,在对象没有使用者时,需要自动销毁自己,避免内存泄露;第二,如果多个对象拥有相同的值,那么将那个值存储多次往往是件愚蠢的事情,最好的做法是,让所有等值对象共享一份实值就好,这么做

2017-05-16 22:35:04 807

原创 C++ 简易string类实现(一)

最近在重温C++ Effective系列,在more effective C++中Item28~30涉及一个string类的实现,为了深入地理解,故由简单到复杂实现一个简易的string类,这一篇里,不考虑书中的3个条款,在后续的博客里,逐步将条款的内容加入进来,实现一些相对复杂的特性; string类声明:class String{ friend std::ostream& opera

2017-05-16 15:57:21 705

转载 推导相机变换矩阵

*转载:http://blog.csdn.net/popy007/article/details/5120158*转载注:OpenGL内的lookAt函数和该博客中的计算方式存在一点差异,此处是基于世界空间,观察空间都是以左手坐标系为前提,但OpenGL内观察空间是右手坐标系,因此会涉及一个左->右的转化过程;有两种计算OpenGL内lookAt函数的方式,这里给出链接:(1)http://www

2017-05-10 12:54:23 635 1

转载 OpenGL 错误获取glGetError()

转载:http://blog.csdn.net/u010270148/article/details/52934295如果函数参数不符或者不符合当前上下文设置的状态,则会导致 OpenGL Error。已 error code 来表示。绝大多数情况下 OpenGL functions 产生 errors,则不会生效。少数有效。OpenGL Error 存储在一个队列中,直到该错误被处理。因此,如果

2017-05-06 13:26:10 13468

转载 OpenGL纹理上下颠倒翻转的三种解决办法

综述转载:http://blog.csdn.net/narutojzm1/article/details/51940817在使用OpenGL函数加载纹理到图形时,经常遇到纹理上下颠倒的问题。原因是因为OpenGL要求纹理坐标原点在图片最下面,如图: 而图片信息中的原点一般都在最上方,一行行记录下来的,就会导致整个图片上下颠倒了。 如图: 从这个思路触发共有三种办法解决问题:一.翻转顶

2017-05-05 21:16:53 1812

转载 四元数的插值

转载:http://blog.csdn.net/jin_syuct/article/details/49785541今天我们和大家分享的是四元数的插值。这里的插值指的是球面线性插值。例如,我们要模拟一下地球绕着太阳,从P1到P2。这中间的每一个位置都要用球面线性插值来做。首先我们聊一聊线性插值:x=x1-x2,t是插值系数,则lerp(x1,x2,t)=x1+t*x表示x1到x2的插值。四元数

2017-04-27 21:32:59 1772

转载 OpenGL缓冲区对象之UBO

转载:http://blog.csdn.net/csxiaoshui/article/details/32101977概述UBO(Uniform Buffer Object)是用来存储着色语言中Uniform类型变量的缓冲区对象,使用UBO可以让uniform变量在不同的着色语言程序中实现共用,也可以在着色语言程序中实现uniform类型变量的设置与更新。提到UBO就必须要提到着色语言GLSL中

2017-04-22 13:04:30 566

转载 为何要在GLSL中使用UBO

转载:http://blog.csdn.net/lsldd/article/details/8475908关于UBO的介绍和使用详情,请看http://www.zwqxin.com/archives/shaderglsl/communication-between-opengl-glsl-2.html除了OpenGL手册,应该没有比这个更详细的了。最近在一个GLSL项目中,需要循环绘制多块buf

2017-04-22 12:57:29 576

转载 glewInit初始化的错误

转载:http://blog.csdn.net/amwihihc/article/details/85732421. unresolved external symbol __imp__glewInit@0windows平台下vs报错。错误原因:本应该调用静态的链接库但是用了动态的glew.h文件有说明    使用静态的链接库#define GLEW_STATIC,这条语句要放到 #inlud

2017-04-21 22:00:19 3069

转载 转载文章

转载地址:http://blog.csdn.net/jiangping_zhu/article/details/180441091、找到要转载的文章,用chrome浏览器打开,右键选择审查元素2、在chrome中下方的框里找到对应的内容,html脚本中找到对应的节点,选中节点,网页上被选中内容会被高亮显示,然后右键菜单选中 Copy as HTML3、进入个人”管理博客”主界面,选择”写新文章“,

2017-04-21 15:14:12 341

转载 纹理映射基础

1.纹理映射基本概念 纹理映射使用一个图案或者纹理来确定渲染流水线中片元处理阶段片元的颜色。 简单来讲,纹理就是矩形的数据数组,例如颜色数据、亮度数据、颜色和alpha数据。纹理数组中的单个值常常称为纹理单元,也叫纹素(texel),这里让它区别于像素,主要是为了强调它的应用方式。 OpenGL支持1D、2D、3D

2017-04-21 15:08:14 1267

转载 投影纹理映射(Projective Texture Mapping)

转载:http://blog.csdn.net/xiajun07061225/article/details/7672635  一、纹理投影映射简介投影纹理映射用于映射一个纹理到物体上,好比将幻灯片投影到墙上一样。投影纹理映射经常在一些阴影算法以及体绘制(Volume Rendering)算法中用到。严格的说,只要涉及到“纹理实时和空间顶点对应”,通常都要用到投影纹理映射技术。下面是一个

2017-04-21 14:14:38 3024 1

转载 双线性插值

原博客地址:http://www.cnblogs.com/linkr/p/3630902.html双线性插值,这个名字咋一听很高大上的样纸,再在维基百科上一查(见文末,我去,一堆的公式吓死人),像俺这种半文盲,看到公式脑子就懵的类型,真心给跪。虽然看着好复杂,但仔细一看道理再简单不过了,所以还是自己梳理一下好。双线性插值,顾名思义就是两个方向的线性插值加起来(这解释过于简单粗暴,哈哈)。所以只要了解

2017-04-17 13:53:17 706

原创 网易游戏2017互娱实习笔试编程(强化装备)

题目描述 网游中,装备强化是提升角色战力的常见方法。 现在你参与开发的游戏中也有这项功能,团队正在设计每件装备强化所能提升的战力及需要消耗的金币数。为了设计出一个合理的强化系统,决定先做一些强化模拟测试,而你现在就在是该模拟程序的开发者。 假设现在有n件可以同时穿戴的装备,对于第i件装备,最多可以强化mi 次,对于第i件装备的第j次强化,会增加fij 的战力,并需要消耗gij 个金币。现在给出所有

2017-03-14 00:22:45 2375

原创 网易游戏2017互娱实习笔试编程(竖式填空)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-03-14 00:10:47 968

freetype28

freetype官方下载(官方下载有时会短路)

2017-06-18

freetype(include文件和lib)

freetype库,include文件和lib文件(32位debug),两者分别放到IDE的include文件夹和lib文件夹即可

2017-06-18

LearnOpenGL中涉及的库文件

LearnOpenGL中涉及的库文件,参考LearnOpenGL教程直接安装即可

2017-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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